home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2004 April / Gamestar_61_2004-04_dvdb.iso / DVDStar / Editace / hltp.exe / {app} / Applications / QuArK / addons / Defaults.qrk < prev    next >
Text File  |  2004-01-05  |  270KB  |  6,980 lines

  1. QQRKSRC1
  2. //**************************************************************************
  3. //QuArK -- Quake Army Knife -- 3D game editor
  4. //Copyright (C) Armin Rigo
  5. //
  6. //This program is free software; you can redistribute it and/or
  7. //modify it under the terms of the GNU General Public License
  8. //as published by the Free Software Foundation; either version 2
  9. //of the License, or (at your option) any later version.
  10. //
  11. //This program is distributed in the hope that it will be useful,
  12. //but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14. //GNU General Public License for more details.
  15. //
  16. //You should have received a copy of the GNU General Public License
  17. //along with this program; if not, write to the Free Software
  18. //Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  19. //
  20. //http://www.planetquake.com/quark - Contact information in AUTHORS.TXT
  21. //**************************************************************************
  22.  
  23. // Main configuration file for QuArK.
  24.  
  25. // Please see file TECHINFO.TXT for more information
  26. // about this file format.
  27.  
  28. //$Header: /cvsroot/quark/runtime/addons/Defaults.qrk,v 1.219 2003/09/19 20:45:44 cdunde Exp $
  29.  
  30. //$Log: Defaults.qrk,v $
  31. //Revision 1.219  2003/09/19 20:45:44  cdunde
  32. //Update duplicator spacific help
  33. //
  34. //Revision 1.218  2003/09/18 03:00:37  cdunde
  35. //To add texture selection feature
  36. //
  37. //Revision 1.217  2003/08/31 21:15:52  silverpaladin
  38. //Minor change to the WildWest game launch line
  39. //
  40. //Revision 1.215  2003/08/29 18:59:57  nerdiii
  41. //texture position/size with two decimals
  42. //
  43. //Revision 1.214  2003/07/04 19:58:21  cdunde
  44. //To add new wedge shape builder
  45. //
  46. //Revision 1.213  2003/04/24 23:42:22  tiglari
  47. //|| to make mapstair hint appear in window
  48. //
  49. //Revision 1.212  2003/04/23 06:52:33  cdunde
  50. //To add  stair maker hint changes by tiglari
  51. //
  52. //Revision 1.211  2003/04/22 11:51:38  tiglari
  53. //update oldstyle stair specific hint
  54. //
  55. //Revision 1.210  2003/04/08 06:02:37  cdunde
  56. //To update dup stair:form for plugins/mapstair.py changes
  57. //
  58. //Revision 1.209  2003/03/19 22:22:36  tiglari
  59. //specify holes file for HL
  60. //
  61. //Revision 1.208  2003/03/12 11:32:27  decker_dk
  62. //Added 'EnableTransparency' checkbox for Half-Life. See also QkMapPoly.PAS (same date)
  63. //
  64. //Revision 1.207  2003/02/09 06:11:40  cdunde
  65. //Discription update and HotKey name change
  66. //
  67. //Revision 1.206  2003/02/03 08:43:27  cdunde
  68. //To build Model Options configuration form.
  69. //
  70. //Revision 1.205  2003/01/08 23:06:34  tiglari
  71. //AlwaysWriteThreeFields support
  72. //
  73. //Revision 1.204  2003/01/06 23:18:57  tiglari
  74. //defaults for wall maker altered again, hints enhanced
  75. //
  76. //Revision 1.203  2003/01/03 23:44:01  rowdy
  77. //removed duplicate Faces entry in AuxKey form definition
  78. //
  79. //Revision 1.201  2002/12/29 12:43:18  decker_dk
  80. //Altered the PluginInfo:form to use the new Memo-field type.
  81. //
  82. //Revision 1.200  2002/12/25 21:27:26  tiglari
  83. //shift Genesis3D to the  bottom of the games list
  84. //
  85. //Revision 1.199  2002/12/25 21:25:07  tiglari
  86. //add pts loading to Q1, Hx2, HL
  87. //
  88. //Revision 1.198  2002/12/18 00:52:37  tiglari
  89. //Preliminary crap Genesis3D support, copy of Q1
  90. //
  91. //Revision 1.197  2002/06/18 11:51:49  tiglari
  92. //fix SOF2 gamecode
  93. //
  94. //Revision 1.196  2002/06/16 10:01:46  tiglari
  95. //restore StupidBuildToolKludge for STVEF
  96. //
  97. //Revision 1.195  2002/06/09 02:33:01  tiglari
  98. //add SoF2 :form and :config
  99. //
  100. //Revision 1.194  2002/05/19 04:39:54  tiglari
  101. //add some hotkeys (Select Tagged Faces and Zoom to Selection)
  102. //
  103. //Revision 1.193  2002/05/16 09:08:28  tiglari
  104. //Update version to 6.4 alpha (no diff from 6,3 yet)
  105. //
  106. //Revision 1.192  2002/05/13 12:02:37  tiglari
  107. //update version
  108. //
  109. //Revision 1.191  2002/05/13 10:34:52  tiglari
  110. //support frozen selections (don't change until another frozen selection is made,
  111. //or they are cancelled with ESC or unfreeze selection)
  112. //
  113. //Revision 1.190  2002/05/13 10:24:06  tiglari
  114. //support bilinear filtering in OGL views
  115. //
  116. //Revision 1.189  2002/05/07 09:30:46  tiglari
  117. //JKII Updates from nurail
  118. //
  119. //Revision 1.188  2002/05/04 10:13:57  tiglari
  120. //EditableSurfaceParms flag for Mohaa
  121. //
  122. //Revision 1.187  2002/05/03 17:27:00  decker_dk
  123. //Fixes to the JK2 compile-tool, as discovered by 'nurail'.
  124. //
  125. //Revision 1.186  2002/04/30 17:56:22  decker_dk
  126. //JK2 compile-tools. Haven't testet yet though.
  127. //
  128. //Revision 1.185  2002/04/30 05:30:15  tiglari
  129. //STVEF info now runs Brush Primitives using the standard tools
  130. // (STVEF GDK 1.2)
  131. //
  132. //Revision 1.184  2002/04/28 21:27:40  tiglari
  133. //update version
  134. //
  135. //Revision 1.183  2002/04/28 11:39:05  tiglari
  136. //Modifications to get RTCW support working better
  137. //
  138. //Revision 1.182  2002/04/17 12:42:12  decker_dk
  139. //Updated MOHAA:config to use MOHAATool's compile-programs.
  140. //
  141. //Revision 1.181  2002/04/09 17:49:53  decker_dk
  142. //Fixed gamecode in GameTorque:form from "GAMd" to "GAMg".
  143. //Fixed typo in Quake 3:config; "Brush Primitivez" to "Brush Primitives".
  144. //
  145. //Revision 1.180  2002/04/08 21:07:14  tiglari
  146. //fixed torque gamecode
  147. //
  148. //Revision 1.179  2002/04/08 12:26:37  tiglari
  149. //support for Torque (from Desmond Fletcher)
  150. //
  151. //Revision 1.178  2002/04/04 17:53:37  decker_dk
  152. //Preliminary Jedi Knight II support
  153. //
  154. //Revision 1.177  2002/03/26 22:18:27  tiglari
  155. //add experimental commented out UseIntegralVertexes flag
  156. //
  157. //Revision 1.176  2002/03/26 10:21:02  tiglari
  158. //remove DisableEnhTex, BrushPrim from Map Options,
  159. //add OutputMapFormat to game config
  160. //
  161. //Revision 1.175  2002/03/23 09:43:30  tiglari
  162. //add SupportsBrushPrim flag to game config form and Quake3 defaults
  163. //
  164. //Revision 1.174  2002/02/26 23:24:01  tiglari
  165. //update version
  166. //
  167. //Revision 1.173  2002/02/24 13:44:24  decker_dk
  168. //Update version to "QuArK 6.3snap 2002feb24"
  169. //Added MOHAA (Medal Of Honor:Allied Assault)
  170. //
  171. //Revision 1.172  2002/02/05 18:33:48  decker_dk
  172. //Updated the RTCW config, so it works with GTKRadiant's Q3MAP.EXE program.
  173. //
  174. //Revision 1.171  2002/01/06 10:37:31  decker_dk
  175. //update version to "QuArK 6.3snap 2002jan06"
  176. //
  177. //Revision 1.170  2001/12/05 20:38:57  decker_dk
  178. //Added RTCW (Return To Castle Wolfenstein)
  179. //
  180. //Revision 1.169  2001/10/08 10:41:25  tiglari
  181. //solid mode added to wallmaker
  182. //
  183. //Revision 1.168  2001/10/07 22:36:03  tiglari
  184. //extrude mode for wallmaker
  185. //
  186. //Revision 1.167  2001/09/23 08:56:17  tiglari
  187. //oops, replace 'bevel' with 'miter' in wallmaker stuff
  188. //
  189. //Revision 1.166  2001/09/23 07:01:44  tiglari
  190. //mitered edges for wall maker duplicator
  191. //
  192. //Revision 1.165  2001/08/28 22:39:06  tiglari
  193. //fix Q3A CD-ROM config
  194. //'auto adjust normals' renamed to 'Quantize angles'
  195. //add Hotkey for Invert Face Selection
  196. //
  197. //Revision 1.164  2001/08/16 20:08:50  decker_dk
  198. //Added support for 'dup hlradfilemaker' plugin.
  199. //
  200. //Revision 1.163  2001/08/15 17:50:40  decker_dk
  201. //Added a 'dup symxyz' with toggleable axes.
  202. //
  203. //Revision 1.162  2001/08/06 00:19:49  tiglari
  204. //update version
  205. //
  206. //Revision 1.161  2001/08/06 00:15:51  tiglari
  207. //texture-cycling for duplicators
  208. //
  209. //Revision 1.160  2001/08/02 02:47:06  tiglari
  210. //browse group hotkey support
  211. //
  212. //Revision 1.159  2001/07/26 09:19:15  tiglari
  213. //Crystal Space bezier support, 2nd build prgm
  214. //
  215. //Revision 1.158  2001/07/19 11:58:58  tiglari
  216. //disable mapchecks for 6dx
  217. //
  218. //Revision 1.157  2001/07/19 02:23:24  tiglari
  219. //.hmf extension support for 6dx
  220. //
  221. //Revision 1.156  2001/07/14 01:56:27  tiglari
  222. //change Crystal Space pak extension to .zip
  223. //
  224. //Revision 1.155  2001/07/09 09:52:32  tiglari
  225. //update version #
  226. //
  227. //Revision 1.154  2001/07/08 08:33:06  tiglari
  228. //reinstated elbow button for path dup; added 'level' spec for path dup and
  229. //  instance (elbow) dup.
  230. //
  231. //Revision 1.153  2001/07/08 00:26:25  tiglari
  232. //'short' specific for extruder
  233. //
  234. //Revision 1.152  2001/07/04 11:56:13  uid21314
  235. //TextureFormat -> TextureWriteFormat for Crystal Space
  236. //
  237. //Revision 1.151  2001/07/03 02:35:13  tiglari
  238. //Crystal Space revisions
  239. //
  240. //Revision 1.150  2001/06/24 14:48:20  decker_dk
  241. //Added arg replacer
  242. //
  243. //Revision 1.149  2001/06/21 17:33:36  decker_dk
  244. //Added preliminary support for 6DX.
  245. //
  246. //Revision 1.148  2001/06/18 02:35:36  tiglari
  247. //update version
  248. //
  249. //Revision 1.147  2001/06/17 21:23:42  tiglari
  250. //commented out elbow (old instances) button on path dup till it works
  251. //
  252. //Revision 1.146  2001/06/17 03:05:04  aiv
  253. //set all seperators to "" that require it
  254. //
  255. //Revision 1.145  2001/06/17 02:55:14  aiv
  256. //fixed error
  257. //
  258. //Revision 1.144  2001/06/17 02:37:39  aiv
  259. //imported texture search plugin
  260. //
  261. //Revision 1.143  2001/06/17 02:05:48  tiglari
  262. //incremetable specifics for symx/y/z (but not symxy, different 'dp'
  263. // method makes this complex)
  264. //
  265. //Revision 1.142  2001/06/14 18:53:12  decker_dk
  266. //Inverted the use of TXT="&" in .QRK files. Now if it does not exist it defaults to TXT="&",
  267. //but if you don't want a caption-text to appear, you must explicitly write TXT="".
  268. //See [FormCfg.PAS] TFormCfg.wmInternalMessage() comments for reason.
  269. //
  270. //Revision 1.141  2001/06/05 12:38:44  tiglari
  271. //final value elaborations
  272. //
  273. //Revision 1.140  2001/06/05 09:38:42  tiglari
  274. //more development of incrementing in duplicators
  275. //
  276. //Revision 1.139  2001/05/27 01:08:14  tiglari
  277. //change 'serialize' to 'increment' for the duplicators as suggested by Decker
  278. //
  279. //Revision 1.138  2001/05/27 00:12:41  tiglari
  280. //support for 'serializable' (suffix incrementing) duplicators
  281. //
  282. //Revision 1.137  2001/05/25 12:37:18  tiglari
  283. //tagged plane support
  284. //
  285. //Revision 1.136  2001/05/21 12:06:32  tiglari
  286. //update version
  287. //
  288. //Revision 1.135  2001/05/12 23:06:05  tiglari
  289. //add  'item center' flag to linear duplicator for new linear fixpoint behavior
  290. //
  291. //Revision 1.134  2001/05/12 19:01:23  tiglari
  292. //remove scale & rotate buttons from linearform
  293. //
  294. //Revision 1.133  2001/05/11 09:37:41  tiglari
  295. //linear specific edit button added to linearform (scale & rotate must die,
  296. //  but not quite yet)
  297. //
  298. //Revision 1.132  2001/05/07 08:55:04  tiglari
  299. //update version
  300. //
  301. //Revision 1.131  2001/05/06 08:04:16  tiglari
  302. //remove instance dup from toolbox, simply path dup path point forms
  303. //
  304. //Revision 1.130  2001/05/06 06:00:28  tiglari
  305. //change angles Typ in linearform to E
  306. //
  307. //Revision 1.129  2001/05/06 03:04:36  tiglari
  308. //New Copy One added,  with 'offset dup' support: if ="1", then
  309. // dup origin-sourcelist center is added to offset
  310. //
  311. //Revision 1.128  2001/05/05 10:01:25  tiglari
  312. //patch mode supported for extruder
  313. //
  314. //Revision 1.127  2001/05/04 09:06:49  tiglari
  315. //fix default texture for stvef
  316. //
  317. //Revision 1.126  2001/05/04 00:25:15  aiv
  318. //form and form element creation done.
  319. //
  320. //Revision 1.125  2001/04/30 10:58:55  tiglari
  321. //added child, key mods for next/prev of same type (look like hotkeys,
  322. //different implementation in quarkpy.mapselection)
  323. //
  324. //Revision 1.124  2001/04/28 02:41:06  tiglari
  325. //update version
  326. //
  327. //Revision 1.123  2001/04/28 02:19:03  tiglari
  328. //add selection menu hotkeys
  329. //
  330. //Revision 1.122  2001/04/27 04:49:18  tiglari
  331. //fix bad hint about subdivides, using form inclusion
  332. //
  333. //Revision 1.121  2001/04/16 00:41:36  tiglari
  334. //extract entity lumps from .bsp's in pakfolder toolbar button
  335. //
  336. //Revision 1.120  2001/04/10 08:58:36  tiglari
  337. //grid specific for brush bevel/cap/arch (force vertexes to grid)
  338. //
  339.  
  340. //Revision 1.105.4.1  2001/04/06 10:41:28  tiglari
  341. //stupidbuildtoolkludges as checkable option; on by default for Q3A
  342. //   (merge in from REL_62)
  343. //
  344. //Revision 1.119  2001/04/05 22:37:09  tiglari
  345. //linearform now uses matrix instead of linear (applies differently for standard
  346. //  duplicators)
  347. //
  348. //Revision 1.118  2001/03/31 13:04:09  tiglari
  349. //usercenter for groups (for rotation)
  350. //
  351. //Revision 1.117  2001/03/31 10:14:57  tiglari
  352. //remove origin dup from toolboxes, add support for usercenter specific
  353. // & button to add it (linked commits to maphandles,py, mapdupspath.py)
  354. //
  355. //Revision 1.116  2001/03/30 22:20:35  tiglari
  356. //explanatory line for buildmenu hotkeys
  357. //
  358. //Revision 1.115  2001/03/29 21:03:27  tiglari
  359. //extruder support
  360. //
  361. //Revision 1.114  2001/03/29 05:51:31  tiglari
  362. //add forms for duplicators, change duplicator toolbox to name Basic
  363. // and Linear Duplicators.
  364. //
  365. //Revision 1.113  2001/03/29 01:27:19  aiv
  366. //modifable :form objects!
  367. //
  368. //Revision 1.112  2001/03/28 19:23:45  decker_dk
  369. //In HotKeyForm:incl, changed from Txt="&" (editable) to Txt="&R" (readonly).
  370. //
  371. //Revision 1.111  2001/03/22 20:24:31  tiglari
  372. //path-following rotation for instances
  373. //
  374. //Revision 1.110  2001/03/20 22:48:26  tiglari
  375. //Meatball402's instance duplicator
  376. //
  377. //Revision 1.109  2001/03/20 21:51:54  decker_dk
  378. //Updated copyright-header
  379. //
  380. //Revision 1.108  2001/03/20 15:49:34  maleficus
  381. //quark will now tell q3map to support whatever mod folder the map file was called from.
  382. //This requires the latest version of q3map to work properly.
  383. //
  384. //Revision 1.107  2001/03/20 10:58:56  tiglari
  385. //hotkey fix (now in General)
  386. //
  387. //Revision 1.106  2001/03/20 08:04:09  tiglari
  388. //customizable hot key support
  389. //
  390. //Revision 1.97.2.1  2001/03/11 22:06:08  tiglari
  391. //hot key defaults
  392. //
  393. //Revision 1.105  2001/03/17 21:55:25  decker_dk
  394. //Added 'Q3ArchLib.qrk' and 'Q3models.qrk' as AddOns for Quake-3
  395. //
  396. //Revision 1.104  2001/03/16 17:09:22  maleficus
  397. //saveprt added for q3 vlight
  398. //
  399. //Revision 1.103  2001/03/16 16:01:18  maleficus
  400. //q3(T)a map limits now set to the limits of q3map
  401. //
  402. //Revision 1.102  2001/03/16 00:28:50  aiv
  403. //made customizable maplimits for games
  404. //
  405. //Revision 1.101  2001/03/15 21:11:39  aiv
  406. //moved .fgd reading to menu, sepearted texture & entity reading
  407. //
  408. //Revision 1.100  2001/03/15 11:30:28  tiglari
  409. //remove stupidbuildtoolkludge from Q3A
  410. //
  411. //Revision 1.99  2001/03/14 19:21:13  decker_dk
  412. //Functionality for '-ext{action}'... which is not documented yet!
  413. //
  414. //Revision 1.98  2001/03/13 01:40:23  aiv
  415. //new fgd->qrk converter inbuilt
  416. //
  417. //Revision 1.97  2001/03/10 01:29:21  tiglari
  418. //Crystal Space and STVEF added to Quake Context list
  419. //
  420. //Revision 1.96  2001/03/09 09:32:24  tiglari
  421. //update version
  422. //
  423. //Revision 1.95  2001/03/08 23:31:23  aiv
  424. //entity tool finished completly i think.
  425. //
  426. //Revision 1.94  2001/03/08 21:55:18  tiglari
  427. //first segment of path dup is now 'level' (won't twist)
  428. //
  429. //Revision 1.93  2001/03/07 20:01:36  tiglari
  430. //path_point specifics
  431. //
  432. //Revision 1.92  2001/03/04 11:21:08  decker_dk
  433. //Minor fix for dup stair
  434. //
  435. //Revision 1.91  2001/03/04 06:42:46  tiglari
  436. //radial duplicator support
  437. //
  438. //Revision 1.90  2001/03/02 19:34:18  decker_dk
  439. //Made a 'Shape Builders' folder.
  440. //
  441. //Revision 1.89  2001/03/01 19:13:14  decker_dk
  442. //added 'BezierPatchSupport' and 'BezierPatchPluginPrefixes' to Quake-3 and STVEF.
  443. //
  444. //Revision 1.88  2001/02/25 11:21:28  tiglari
  445. //reset snapshot #
  446. //
  447. //Revision 1.87  2001/02/25 04:44:57  tiglari
  448. //new specifics for brush&patch arch&bevel
  449. //
  450. //Revision 1.86  2001/02/25 02:01:57  tiglari
  451. //brush curve forms added
  452. //
  453. //Revision 1.85  2001/02/23 03:42:24  tiglari
  454. //form for dup path, supporting square end and setback
  455. //
  456. //Revision 1.84  2001/02/22 19:19:29  decker_dk
  457. //Added three pathdup.points
  458. //
  459. //Revision 1.83  2001/02/20 08:07:41  tiglari
  460. //DefaultTextureScale added for Q3A
  461. //
  462. //Revision 1.82  2001/02/18 20:21:37  decker_dk
  463. //Added 'Half-Life info_decal Helper:d' to a new group 'Game specific'.
  464. //
  465. //Revision 1.81  2001/02/14 23:36:45  alexander
  466. //set name
  467. //
  468. //Revision 1.80  2001/02/12 03:47:17  tiglari
  469. //reset snapshot #
  470. //
  471. //Revision 1.79  2001/02/08 11:08:22  tiglari
  472. //removed path points from path duplicator toolbox item
  473. //
  474. //Revision 1.78  2001/02/07 18:44:02  aiv
  475. //bezier texture vertice page started.
  476. //
  477. //Revision 1.77  2001/02/07 00:06:57  aiv
  478. //added fixes from 6.1c release
  479. //
  480. //Revision 1.76  2001/02/02 08:21:00  tiglari
  481. //updated version #
  482. //
  483. //Revision 1.75  2001/01/30 19:09:48  decker_dk
  484. //Renamed to 'Crystal Space:config'.
  485. //
  486. //Revision 1.74  2001/01/28 17:26:10  decker_dk
  487. //Set 'Hide scrollbars in map-editor' to enabled as default. (Due to the Q3A huge-maps problem, which is easily solved by hiding the scrollbars!)
  488. //Added 'DisableMapComments' option to 'Map:config'.
  489. //Added a 'MapCommentsPrefix' to all games ':config' settings.
  490. //
  491. //Revision 1.73  2001/01/27 18:24:17  decker_dk
  492. //Removed the key 'Q3ShaderPath', as it is replaced with 'ShadersPath'.
  493. //Renamed the key 'Q2TexPath' to 'TexturesPath'.
  494. //Suffixed all 'program' keyvalues with '.EXE'.
  495. //Moved some :config key/values around to more logical groupings.
  496. //Renamed:
  497. //= TextureDef        -> DefaultTexture
  498. //= TriggerTextureDef -> DefaultTextureTrigger
  499. //= ClipTextureDef    -> DefaultTextureClip
  500. //= OriginTextureDef  -> DefaultTextureOrigin
  501. //Inserted in 'CustomQuakeMenu:form' extra information as '[::BuildArgs1]'
  502. //Added some hints to the games configuration-forms.
  503. //Key 'DefPoly' changed values to '<X>x<Y>x<Z>'
  504. //Added DefaultTextureCaulk
  505. //
  506. //Revision 1.72  2001/01/07 13:21:48  decker_dk
  507. //Set Versionname.
  508. //
  509. //Revision 1.71  2000/12/30 15:28:53  decker_dk
  510. //Path Duplicator
  511. //
  512. //Revision 1.70  2000/11/19 15:32:29  decker_dk
  513. //- Added 'ImageListTextureDimension' and 'ImageListLoadNoOfTexAtEachCall' to
  514. //Defaults.QRK, for manipulating the TextureBrowser-TextureLists.
  515. //- Modified TFQWad.PopulateListView, so it reads the above settings.
  516. //- Changed two 'goto bail' statements to 'break' statements, in QkObjects.
  517. //- Found the problem in the .MAP exporting entity-numbering, and corrected it.
  518. //- Changed the '|' delimiting character in QObject.Ancestry to '->', as I think
  519. //it will be more readable in the .MAP file.
  520. //- Replaced the function-names:
  521. //  = SauverTexte         -> SaveAsText
  522. //  = SauverTextePolyedre -> SaveAsTextPolygon
  523. //  = SauverTexteBezier   -> SaveAsTextBezier
  524. //  = SauverSpec          -> SaveAsTextSpecArgs
  525. //
  526. //Revision 1.69  2000/11/16 19:42:44  decker_dk
  527. //- Modified Convex's texture-fileextension alias code, so it won't conflict
  528. //with the rest of the existing code.
  529. //- Introduced a 'TextureFileExtensions' specific, which will contain the
  530. //texture-fileextension aliases, for COnvex's code.
  531. //- Implemented solution for extracting texture-links from .PK3 files
  532. //('.pakfolder' vs '.zipfolder' problem)
  533. //- Replaced the function-names:
  534. //  = Q2TexPath    -> GameTexturesPath
  535. //  = Q3ShaderPath -> GameShadersPath
  536. //- Cleaned up some code here and there.
  537. //- Corrected problem with QTextureFile.LoadPaletteInfo not initializing an
  538. //PGameBuffer totally. Hmm? May have introduced problem with color-palette
  539. //in other windows than the texture-browser-detail.
  540. //- Found the place in QkWAD.PAS where the common size of the textures, in the
  541. //texture-browser, are controlled/set. Useful for 32x32, 128x128 and so scaling.
  542. //
  543. //Revision 1.68  2000/11/11 17:58:20  decker_dk
  544. //Compressed some text into an existing :incl, for BuildToolControllers
  545. //
  546. //Revision 1.67  2000/11/04 20:14:55  decker_dk
  547. //+devmap for Quake-3
  548. //
  549. //Revision 1.66  2000/10/29 16:12:43  decker_dk
  550. //Q3A and STVEF 'CheckFile' modifications
  551. //
  552. //Revision 1.65  2000/10/28 19:28:34  decker_dk
  553. //Some more comments reg. user-variables for build-tool controllers
  554. //
  555. //Revision 1.64  2000/10/27 20:42:28  decker_dk
  556. //Crystal Space .QRK files
  557. //
  558. //Revision 1.63  2000/10/26 16:53:03  tiglari
  559. //enable brush primitives item added
  560. //
  561. //Revision 1.62  2000/10/16 22:32:58  aiv
  562. //added compression options to memory options (CompressionBufferSize and CompressionLevel)
  563. //
  564. //Revision 1.61  2000/10/15 16:49:12  alexander
  565. //rename StarTrek EF to STVEF
  566. //
  567. //Revision 1.60  2000/10/15 16:08:03  alexander
  568. //set name
  569. //
  570. //Revision 1.59  2000/10/10 07:46:17  tiglari
  571. //"C" code for circle-strafe selection added to map and model mouse modes
  572. //
  573. //Revision 1.58  2000/10/09 18:16:11  decker_dk
  574. //Build-Tool Controllers (and commented Crystal Space)
  575. //
  576. //Revision 1.57  2000/09/25 00:09:28  alexander
  577. //set name
  578. //
  579. //Revision 1.56  2000/09/18 01:28:03  alexander
  580. //added Texture Write Format setup entries (needed because texture aliasing)
  581. //added StarTrek EF support
  582. //
  583. //Revision 1.55  2000/09/17 14:59:29  alexander
  584. //committed convex' generalization of texture format aliasing
  585. //
  586. //Revision 1.54  2000/09/10 13:01:23  alexander
  587. //set name
  588. //
  589. //Revision 1.53  2000/09/04 21:20:28  tiglari
  590. //additions to dup column specifics, for more options
  591. //
  592. //Revision 1.52  2000/09/02 11:19:11  tiglari
  593. //added subdivide specific for arch/cap
  594. //
  595. //Revision 1.51  2000/09/02 06:13:04  tiglari
  596. //detail specifics for cap duplicator (python not yet implemented)
  597. //
  598. //Revision 1.50  2000/09/01 11:12:55  tiglari
  599. //Put some bevel specifics onto a details button in the form.
  600. //
  601. //Revision 1.49  2000/09/01 00:49:02  alexander
  602. //merged in tiglaris default sof sky fix from rel6_1 branch
  603. //
  604. //Revision 1.46.2.1  2000/08/26 09:44:48  tiglari
  605. //fixed default texture for SoF
  606. //
  607. //Revision 1.48  2000/08/25 18:01:06  decker_dk
  608. //Added Typ='EDL' functionality specialy for QuakeCtx:form
  609. //
  610. //Revision 1.47  2000/08/21 20:58:21  aiv
  611. //Added Skin form for model editor
  612. //
  613. //Revision 1.46  2000/07/28 15:09:48  alexander
  614. //set snapshot name
  615. //
  616. //Revision 1.45  2000/07/25 16:03:04  alexander
  617. //set snapshot name
  618. //
  619. //Revision 1.44  2000/07/18 13:48:29  alexander
  620. //set snapshot name
  621. //
  622. //Revision 1.43  2000/07/04 20:22:32  alexander
  623. //added SOF specific default form reference for quakemenu (without extract textures)
  624. //removed Q3 specific dup arenafilemaker form
  625. //
  626. //Revision 1.42  2000/07/04 17:24:59  alexander
  627. //added default form for dup arenafilemaker
  628. //
  629. //Revision 1.41  2000/07/03 23:15:10  alexander
  630. //set snapshot version
  631. //
  632. //Revision 1.40  2000/07/03 22:41:38  alexander
  633. //fixed: models beeing not compiled in the bsp (activated stupidbuildtoolkludge flag)
  634. //
  635. //Revision 1.39  2000/06/27 11:03:49  tiglari
  636. //detail content flag reinstated
  637. //
  638. //Revision 1.38  2000/06/25 10:56:23  tiglari
  639. //column cone & bulge support
  640. //
  641. //Revision 1.37  2000/06/24 16:49:06  alexander
  642. //removed from SoF config : UnifiedPalette = "1" (fix for no textures in sofware mode)
  643. //
  644. //Revision 1.36  2000/06/22 22:41:21  tiglari
  645. //added support for columns (and pipes)
  646. //
  647. //Revision 1.35  2000/06/17 07:28:10  tiglari
  648. //stretchtex flag for arch/cap and bevel
  649. //
  650. //Revision 1.34  2000/06/14 04:38:54  tiglari
  651. //Added `faceonly' specific for arches & bevels.
  652. //
  653. //Revision 1.33  2000/06/13 12:48:34  tiglari
  654. //revised bevel & cap/arch forms
  655. //
  656. //Revision 1.32  2000/06/12 11:14:39  tiglari
  657. //Bevel duplicator form added
  658. //
  659. //Revision 1.31  2000/06/10 10:00:35  alexander
  660. //fixed: switching to kingpin game when selecting addons or output dirs in the SoF config dialog
  661. //
  662. //Revision 1.30  2000/06/07 22:34:27  alexander
  663. //changed: NeedQCSG config entry and replaced it
  664. //by a SpecialCustomQuakeMenu entry (which specifies the form name)
  665. //Added: Custom Quake menu form for quake 3 with bspc
  666. //
  667. //Revision 1.29  2000/06/05 00:15:15  alexander
  668. //added "StupidBuildToolKludge" flag for games (likes SoF) where the tools want to run in basedir
  669. //fixed wrong base dir of SoF
  670. //seperated NeedQCSG flag from FirstBuildCmd (is now extra flag)
  671. //
  672. //Revision 1.27  2000/06/04 15:52:52  alexander
  673. //added: origin default texture entry for both SoF and KingPin
  674. //fixed: wrong default texture for SoF
  675. //
  676. //Revision 1.26  2000/05/21 01:20:15  tiglari
  677. //Added cap duplicator specifics
  678. //
  679. //Revision 1.25  2000/05/12 17:44:19  decker_dk
  680. //Auto-create Texture-links to .tga/.jpg files - .shaders still missing
  681. //
  682. //Revision 1.24  2000/05/11 22:00:43  alexander
  683. //removed palette.pcx
  684. //changed default texture
  685. //
  686. //Revision 1.23  2000/05/06 15:21:01  decker_dk
  687. //Dont overwrite files that already exist. This fix may cause a problem elsewhere however...
  688. //
  689. //Revision 1.22  2000/05/05 00:01:07  alexander
  690. //added: game forms and defaults for Soldier of Fortune
  691. //
  692. //Revision 1.21  2000/04/29 15:13:52  decker_dk
  693. //Allow other than PAK#.PAK files
  694. //
  695. //Revision 1.20  2000/04/26 02:01:30  alexander
  696. //fixed default trigger texture for kingpin
  697. //
  698.  
  699. {
  700.   QuArKProtected = "1"
  701.   Description = "Main configuration file"
  702.   Static.qrk =
  703.   {
  704.     General:config =     // ":config" objects are displayed in the Configuration dialog box
  705.     {
  706.       Version = "QuArK 6.4 alpha"
  707.       InternalVersion = '6.2'
  708.       TextureBrowser = "Texture Browser..."
  709.       NewMapItems = "New Map Items..."
  710.       RecentFiles = ""
  711.       Display:config =
  712.       {
  713.         //Gamma = '1.35'
  714.         //Gamma = '2.0'
  715.         Gamma = '1.6'
  716.         MarsCaption = "?"
  717.         AutoFocus = "1"
  718.         Unsel = ""
  719.         Sel = "1"
  720.         MppTopBtns = "1"
  721.         IconPath = "images\\"
  722.         Form = "GeneralDisplay"
  723.       }
  724.       3D view:config =
  725.       {
  726.         Lib = "qrksoftg.dll"
  727.         3DFXLogo = ""
  728.         SoftQuality = "0"
  729.         DynamicQuality = "2"
  730.         //FullScreen = ""
  731.         FullScreenGamma = '1.3'
  732.         FullScreenSize = '560 420'
  733.         TwoMonitors = ""
  734.         FarDistance = '1500'  // objects are totally black at this distance
  735.         DarkFactor = '0.67'   // only 67% of the FarDistance is considered really visible
  736.         TranspFactor = '0.3'  // in isometric views, an additionnal 30% of the normal depth is visible but transparent
  737.         TextureMaxDimension="7"
  738.         VAngle = '30'
  739.         FogDensity = '1.05'
  740.         FogColor = $000000
  741.         FrameColor = $000000
  742.         SelGroupColor = $FF80FF
  743.         SelFaceColor = $80FF80
  744.         SelMultColor = $FF8080
  745.         Entities = "1"
  746.         EntityBoxes = ""
  747.         KeyForward = $26
  748.         KeyBack = $28
  749.         KeyLeft = $25
  750.         KeyRight = $27
  751.         KeyStepLeft = $23
  752.         KeyStepRight = $22
  753.         KeyViewUp = "Q"
  754.         KeyViewDown = "Y"
  755.         KeyViewCenter = "A"
  756.         KeyUp = "D"
  757.         KeyDown = "C"
  758.         KeyRun = $10
  759.         KeyStep = $12
  760.         Speed = '250'
  761.         RunSpeed = '500'
  762.         RotateSpeed = '160'
  763.         AccelDelay = '0.35'
  764.         RunAccelDelay = '0.2'
  765.         MouseHLook = '10'
  766.         MouseVLook = '10'
  767.         MouseWalk = '10'
  768.         MouseSideStep = '10'
  769.         MouseUpDown = '10'
  770.         Form = "General3DView"
  771.       }
  772.       OpenGL:config =
  773.       {
  774.         Warning2 = "1"
  775.         WndRect = '0 0 640 480'
  776.         DoubleBuffer = "1"
  777.         SupportsGDI = ""
  778.         Bilinear = "1"
  779.         AllowsGDI = "1"
  780.         GLLists = "1"
  781.         ColorBits = '0'
  782.         DepthBits = '16'
  783.         Fog = "1"
  784.         VCorrection = '0.92'
  785.         Lights = "1"
  786.         Ambient = '0.4'
  787.         Form = "GeneralOpenGL"
  788.       }
  789.       Memory:config =
  790.       {
  791.         MaxUndo = '50'
  792.         MinUndo = '10'
  793.         UndoBufferSize = '3.0'     // MB
  794.         GameFiles = '30'
  795.         GameBufferSize = '10.0'     // MB
  796.         CompressionBufferSize = '16' // KBytes
  797.         CompressionLevel = '9' // Where else to put this?
  798.         Form = "GeneralMemory"
  799.       }
  800.       QuakeC:config =
  801.       {
  802.         KeyWords = "LOCAL"$0D"BIND"$0D"AUTOEXEC"$0D"IF"$0D"ELSE"$0D"WHILE"$0D"DO"$0D"RETURN"
  803.          $0D"VOID"$0D"STRING"$0D"FLOAT"$0D"VECTOR"$0D"ENTITY"
  804.         Enabled = "1"
  805.         Font5 = $00000000F3FFFFFF000000000000000000000000BC0200000000000100000000
  806.          $436F7572696572204E6577004000E536400040000000C03A4000382240003F22
  807.         Font1 = $0000FF00F3FFFFFF000000000000000000000000900100000000000100000000
  808.          $436F7572696572204E657700F582C827F7BF6E20F6BF00707300002A9B00F0F6
  809.         Font3 = $FF000000F3FFFFFF000000000000000000000000900100000000000100000000
  810.          $436F7572696572204E657700F582C827F7BF6E20F6BF00707300002A9B00F0F6
  811.         Font2 = $00008000F3FFFFFF000000000000000000000000BC0200000000000100000000
  812.          $436F7572696572204E6577004000E536400040000000C03A4000382240004CFA
  813.         Font4 = $80008000F3FFFFFF000000000000000000000000900100000100000100000000
  814.          $436F7572696572204E6577004000E536400040000000C03A4000382240004CFA
  815.         Font6 = $00000000F0FFFFFF000000000000000000000000BC0200000000000100000000
  816.          $436F7572696572204E6577004000E536400040000000C03A4000382240004CFA
  817.         Form = "GeneralQuakeC"
  818.       }
  819.       File Associations:config =
  820.       {
  821.         .qrk = "!"     iqrk = '1'
  822.         .qkm = "!"     iqkm = '2'
  823.         .map = "1"     imap = '2'
  824.         .qkl = "!"     iqkl = '4'
  825.         .md2 = "1"     imd2 = '4'
  826.         .mdl = "1"     imdl = '4'
  827.         .pak = "1"     ipak = '5'
  828.         .sin = "1"     isin = '5'
  829.         .pk3 = "1"     ipk3 = '5'
  830.         .bsp = "1"     ibsp = '3'
  831.         .qc  = "1"     iqc  = '8'
  832.         .hc  = "1"     ihc  = '8'
  833.         .wad = "1"     iwad = '9'
  834.         .wal = "1"     iwal = '10'
  835.         .swl = "1"     iswl = '10'
  836.         .m8  = "1"     im8  = '10'
  837.         .pcx = ""      ipcx = '7'
  838.         .bmp = ""      ibmp = '7'
  839.         .tga = ""      itga = '7'
  840.         .jpg = ""      ijpg = '7'
  841.         .cin = "1"     icin = '6'
  842.         .wav = ""
  843.         .cfg = ""      icfg = '11'
  844.         .qme = ""
  845.         .zip = ""      izip = '5'
  846.         Form = "GeneralAssociations"
  847.       }
  848.       External editors:config =
  849.       {
  850.         Form = "GeneralExternalEditors"
  851.         .pcx = ""
  852.         .tga = ""
  853.         .bmp = "<open>"
  854.         .jpg = "" //DECKER
  855.         .wav = "<edit>"
  856.         .cin = "<open>"
  857.         .mdl = "<open>"
  858.         .md2 = "<open>"
  859.         .map = "Notepad.exe"
  860.         .wal = ""
  861.         .swl = ""
  862.         .m8  = ""
  863.         .pak = "<open>"
  864.         .pk3 = "<open>" //DECKER
  865.         .sin = ""
  866.         .bsp = "<open>"
  867.         .wad = "<open>"
  868.         .qc  = "Notepad.exe"
  869.         .qrk = "Notepad.exe"
  870.       }
  871.       HotKeys:config =
  872.       {
  873.         Open = "Ctrl+O"
  874.         Save = "Ctrl+S"
  875.         Close = "Ctrl+Q"
  876.         Cut = "Ctrl+X"
  877.         Copy = "Ctrl+C"
  878.         Paste ="Ctrl+V"
  879.         Delete="Del"
  880.         Undo = "Ctrl+Z"
  881.         Redo = "Shift+Ctrl+Z"
  882.         Duplicate= "Ctrl+D"
  883.         Cancel Selections= "Esc"
  884.         Select Parent="Home"
  885.         Collapse Tree="S"        // not a true hotkey, but a modifier
  886.         Select Child="End"
  887.         Select Next="PgDn"
  888.         Select Previous="PgUp"
  889.         Same Type="S"            // not a true hotkey, but a modifier
  890.         Insert = "Ins"
  891.         Tag Side = "Ctrl+T"
  892.         Clear Tags = "Alt+C"
  893.         Add to Tagged = "Ctrl+A"
  894.         Glue Side = "Ctrl+G"
  895.         Align Texture = "Ctrl+W"
  896.         Link Selection = "Ctrl+L"
  897.         Extend Selection = "Ctrl+E"
  898.         Select Tagged Faces = "Alt+S"
  899.         Unrestrict Selection = "Ctrl+U"
  900.         Restrict to Selection = "Alt+R"
  901.         Zoom to Selection = "Alt+Z"
  902.         Brush Subtraction =  "Ctrl+B"
  903.         Browse Multiple Selection = "Alt+B"
  904.         Invert Face Selection = "Ctrl+I"
  905.         Freeze Selection = "Alt+F"
  906.         Unfreeze Selection = "Alt+U"
  907.         Game Menu = "These are set in Game Menu|Customize"
  908.         Form = "MapHotKeys"
  909.       }
  910.       AuxKeys:config =
  911.       {
  912.         Select Faces  = "F"
  913.         Select Brushes = "B"
  914.         Select Curves = "C"
  915.         Select Entities = "E"
  916.         Form = "MapAuxKeys"
  917.       }
  918.     }
  919.     Games:config =
  920.     {
  921.       GameCfg = "Quake 2"
  922.       Quake 1:config =
  923.       {
  924.         Game = "Quake 1"
  925.         Code = "1" // Hardcoded value in Setup.PAS
  926.  
  927.         Program = "Quake.EXE"
  928.  
  929.         Directory = "\Quake"
  930.         CheckDirectory = "QUAKE.EXE"
  931.  
  932.         MapCommentsPrefix = "//"
  933.  
  934.         OutputMapFormat = "Quark etp"
  935.         BuildPgm1  = "TXQBSP.EXE"
  936.         BuildArgs1 = ""
  937.         BuildCheck1= "+BSP,+PRT,-PTS{LoadLinFile}"
  938.         BuildPgm2  = "RVIS.EXE"
  939.         BuildArgs2 = ""
  940.         BuildPgm3  = "ARGHLITE.EXE"
  941.         BuildArgs3 = ""
  942.  
  943.         DefaultTexture = "bricka2_2"
  944.         DefaultTextureTrigger = "trigger"
  945.         DefaultTextureClip = "clip"
  946.  
  947.         WateryTex = "*"
  948.         TextureFormat = ".wad_D"
  949.         TextureWriteFormat = ".wad_D"
  950.         TextureWad = "gfx/QuArK.wad"
  951.  
  952.         BaseDir = "id1"
  953.         tmpQuArK = "tmpQuArK"
  954.  
  955.         MapHoles = ".pts"
  956.         Palette = "gfx/palette.lmp"
  957.         Gradient = "gfx/colormap.lmp"
  958.         UnifiedPalette = "1"
  959.         ExtraCmdLine = "-game %s"
  960.         RunMapCmdLine = " +map %s"
  961.         AddOns = "DataQ1.qrk"    // list of files to use as add-ons for Quake 1 (separator is the character $0D hex., example : "first.qrk"$0D"second.qrk"$0D"third.qrk"
  962.         AlwaysPak = ""
  963.         PakExt = ".pak"
  964.         LightFactor = '0.9'
  965.         3DLight = '512'
  966.         Console = "1"
  967.         Form = "GameQuake1"
  968.         PlayerClass = "X"
  969.       }
  970.  
  971.       Hexen II:config =
  972.       {
  973.         Game = "Hexen II"
  974.         Code = "2" // Hardcoded value in Setup.PAS
  975.  
  976.         Program = "H2.EXE"
  977.  
  978.         Directory = "\Hexen II"
  979.         CheckDirectory = "H2.EXE"
  980.  
  981.         MapCommentsPrefix = "//"
  982.         OutputMapFormat = "Quark etp"
  983.  
  984.         BuildPgm1  = "QBSP.EXE"
  985.         BuildArgs1 = ""
  986.         BuildCheck1= "+BSP,+PRT,-PTS{LoadLinFile}"
  987.         BuildPgm2  = "VIS.EXE"
  988.         BuildArgs2 = ""
  989.         BuildPgm3  = "LIGHT.EXE"
  990.         BuildArgs3 = ""
  991.  
  992.         DefaultTexture = "rtex215"
  993.         DefaultTextureTrigger = "rtex215" //FIXME
  994.         DefaultTextureClip = "clip" //FIXME
  995.  
  996.         WateryTex = "*"
  997.         TextureFormat = ".wad_D"
  998.         TextureWriteFormat = ".wad_D"
  999.         TextureWad = "gfx/QuArK.wad"
  1000.  
  1001.         BaseDir = "data1"
  1002.         tmpQuArK = "tmpQuArK"
  1003.  
  1004.         MapHoles = ".pts"
  1005.         Palette = "gfx/palette.lmp"
  1006.         Gradient = "gfx/colormap.lmp"
  1007.         UnifiedPalette = "1"
  1008.         ExtraCmdLine = "-game %s"
  1009.         RunMapCmdLine = " +map %s"
  1010.         AddOns = "DataH2.qrk"
  1011.         AlwaysPak = ""
  1012.         PakExt = ".pak"
  1013.         Console = "1"
  1014.         Form = "GameHexenII"
  1015.         QuakeC = "HexenC"
  1016.         MdlPath = "models/"
  1017.         LightFactor = '0.72'
  1018.         3DLight = '640'
  1019.         HxStrings = "strings.txt"
  1020.         PlayerClass = "1"
  1021.       }
  1022.       Quake 2:config =
  1023.       {
  1024.         Game = "Quake 2"
  1025.         Code = "A" // Hardcoded value in Setup.PAS
  1026.  
  1027.         Program = "Quake2.EXE"
  1028.  
  1029.         Directory = "\Quake2"
  1030.         CheckDirectory = "QUAKE2.EXE"
  1031.  
  1032.         CD = ""
  1033.         CDDir = "Install\Data"
  1034.  
  1035.         MapCommentsPrefix = ";"
  1036.         OutputMapFormat = "Quark etp"
  1037.  
  1038.         BuildPgm1  = "TXQBSP3.EXE"
  1039.         BuildArgs1 = ""
  1040.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1041.         BuildPgm2  = "TIMVIS3.EXE"
  1042.         BuildArgs2 = ""
  1043.         BuildPgm3  = "ARGHRAD.EXE"
  1044.         BuildArgs3 = "-gamedir .. -moddir ."
  1045.  
  1046.         TexturesPath = "textures/"
  1047.         Q2TexFlags = "1"
  1048.  
  1049.         DefaultTexture = "e1u1/damage1_1"
  1050.         DefaultTextureTrigger = "e1u1/trigger"
  1051.         DefaultTextureOrigin = "e1u1/origin"
  1052.         DefaultTextureClip = "e1u1/clip"
  1053.  
  1054.         TextureFormat = ".wal"
  1055.         TextureWriteFormat = ".wal"
  1056.  
  1057.         BaseDir = "baseq2"
  1058.         tmpQuArK = "tmpQuArK"
  1059.  
  1060.         Palette = "pics/colormap.pcx"
  1061.         Gradient = "pics/colormap.pcx"
  1062.         UnifiedPalette = "1"
  1063.         ExtractFiles = "pics/colormap.pcx"
  1064.         ExtraCmdLine = "+set game %s"
  1065.         RunMapCmdLine = " +map %s"
  1066.         AddOns = "DataQ2.qrk"
  1067.         AlwaysPak = ""
  1068.         PakExt = ".pak"
  1069.         Console = "1"
  1070.         Form = "GameQuake2"
  1071.         LightFactor = '0.9'
  1072.         3DLight = '512'
  1073.       }
  1074.       Heretic II:config =
  1075.       {
  1076.         Game = "Heretic II"
  1077.         Code = "B" // Hardcoded value in Setup.PAS
  1078.  
  1079.         Program = "Heretic2.EXE"
  1080.  
  1081.         Directory = "\Heretic II"
  1082.         CheckDirectory = "HERETIC2.EXE"
  1083.  
  1084.         MapCommentsPrefix = ";"
  1085.  
  1086.         BuildPgm1  = "TXQBSP3.EXE"
  1087.         BuildArgs1 = ""
  1088.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1089.         BuildPgm2  = "TIMVIS3.EXE"
  1090.         BuildArgs2 = ""
  1091.         BuildPgm3  = "ARGHRAD.EXE"
  1092.         BuildArgs3 = "-gamedir .. -moddir ."
  1093.  
  1094.         TexturesPath = "textures/"
  1095.         Q2TexFlags = "1"
  1096.  
  1097.         DefaultTexture = "andoria/sstone"
  1098.         DefaultTextureTrigger = "andoria/sstone" //FIXME
  1099.         DefaultTextureClip = "andoria/clip" //FIXME
  1100.  
  1101.         walTrick = "1"
  1102.         TextureFormat = ".m8"
  1103.         TextureWriteFormat = ".m8"
  1104.  
  1105.         BaseDir = "base"
  1106.         tmpQuArK = "tmpQuArK"
  1107.  
  1108.         Palette = ":pics/colormap.pcx"    //  ":" means that the palette is stored in DataHr2.qrk
  1109.         //Gradient = "gfx/colormap.lmp"
  1110.         ExtraCmdLine = "+set game %s"
  1111.         RunMapCmdLine = " +map %s"
  1112.         AddOns = "DataHr2.qrk"
  1113.         AlwaysPak = ""
  1114.         PakExt = ".pak"
  1115.         PakFormat = "HTIC2-#.PAK"
  1116.         Console = "1"
  1117.         Form = "GameHeretic2"
  1118.         LightFactor = '0.9'
  1119.         3DLight = '512'
  1120.       }
  1121.       Half-Life:config =
  1122.       {
  1123.         Game = "Half-Life"
  1124.         Code = "3" // Hardcoded value in Setup.PAS
  1125.  
  1126.         Program = "HL.EXE -console -dev -zone 1024 +set sv_cheats 1"
  1127.  
  1128.         Directory = "\Sierra\Half-Life"
  1129.         CheckDirectory = "HL.EXE"
  1130.  
  1131.         MapCommentsPrefix = "//"
  1132.         OutputMapFormat = "Valve 220"
  1133.  
  1134.         BuildPgm1  = "HLCSG.EXE"
  1135.         BuildArgs1 = ""
  1136.         BuildCheck1= "+BSP"
  1137.         BuildPgm2  = "HLBSP.EXE"
  1138.         BuildArgs2 = ""
  1139.         BuildCheck2= "+BSP,+PRT,-PTS{LoadLinFile}"
  1140.         BuildPgm3  = "HLVIS.EXE"
  1141.         BuildArgs3 = ""
  1142.         BuildPgm4  = "HLRAD.EXE"
  1143.         BuildArgs4 = ""
  1144.  
  1145.         DefaultTexture = "FIFTIES_WALL14Y"
  1146.         DefaultTextureTrigger = "AAATRIGGER"
  1147.         DefaultTextureOrigin = "ORIGIN"
  1148.         DefaultTextureClip = "CLIP"
  1149.         EnableTransparency = ""
  1150.         TextureWad = "?"     // variable (the map name is used)
  1151.         GameNeedWad = "1"
  1152.         WateryTex = "!"
  1153.         TextureFormat = ".wad3_C"
  1154.         TextureWriteFormat = ".wad3_C"
  1155.  
  1156.         BaseDir = "valve"
  1157.         tmpQuArK = "tmpQuArK"
  1158.  
  1159.         MapHoles = ".pts"
  1160.         Palette = "gfx/palette.lmp"
  1161.         Gradient = "gfx/colormap.lmp"
  1162.         //DECKER - 'ExtractFiles' just creates troubles, if another mod-directory is choosen....
  1163.         //ExtractFiles = "cl_dlls/*.*"
  1164.         ExtraCmdLine = "-game %s"
  1165.         RunMapCmdLine = " +map %s"
  1166.  
  1167.         AddOns = "DataHL.qrk"
  1168. //      AddOns = "BaseData.qrk"
  1169.  
  1170.         AlwaysPak = ""
  1171.         PakExt = ".pak"
  1172.         LightFactor = '0.9'
  1173.         3DLight = '512'
  1174.         Console = "1"
  1175.         Form = "GameHalfLife"
  1176.         PlayerClass = "X"
  1177.       }
  1178.       Sin:config =
  1179.       {
  1180.         Game = "Sin"
  1181.         Code = "C" // Hardcoded value in Setup.PAS
  1182.  
  1183.         Program = "Sin.EXE"
  1184.  
  1185.         Directory = "\Sin"
  1186.         CheckDirectory = "SIN.EXE"
  1187.  
  1188.         CD = ""
  1189.         CDDir = "Setup\Data"
  1190.  
  1191.         MapCommentsPrefix = ";"
  1192.         OutputMapFormat = "Quark etp"
  1193.  
  1194.         BuildPgm1  = "QBSP3.EXE"
  1195.         BuildArgs1 = ""
  1196.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1197.         BuildPgm2  = "QVIS3.EXE"
  1198.         BuildArgs2 = ""
  1199.         BuildPgm3  = "QRAD3.EXE"
  1200.         BuildArgs3 = ""
  1201.  
  1202.         TexturesPath = "textures/"
  1203.         Q2TexFlags = "1"
  1204.  
  1205.         DefaultTexture = "intro/wl_outbrick1a"
  1206.         DefaultTextureTrigger = "intro/wl_outbrick1a" //FIXME
  1207.         DefaultTextureClip = "intro/clip" //FIXME
  1208.  
  1209.         TextureFormat = ".swl"
  1210.         TextureWriteFormat = ".swl"
  1211.  
  1212.         BaseDir = "base"
  1213.         tmpQuArK = "tmpQuArK"
  1214.  
  1215.         Palette = ":pics/colormap.pcx"
  1216.         //Gradient = "pics/colormap.pcx"
  1217.         ExtraCmdLine = "+set game %s"
  1218.         RunMapCmdLine = " +map %s"
  1219.         AddOns = "DataSin.qrk"
  1220.         AlwaysPak = ""
  1221.         PakExt = ".sin"
  1222.         PakFormat = "PAK#.SIN"
  1223.         Console = "1"
  1224.         Form = "GameSin"
  1225.         LightFactor = '0.9'
  1226.         3DLight = '512'
  1227.       }
  1228.       KingPin:config =
  1229.       {
  1230.         Game = "KingPin"
  1231.         Code = "D" // Hardcoded value in Setup.PAS
  1232.  
  1233.         Program = "KingPin.EXE"
  1234.  
  1235.         Directory = "\KingPin"
  1236.         CheckDirectory = "KINGPIN.EXE"
  1237.  
  1238.         CD = ""
  1239.         CDDir = "Install\Data"
  1240.  
  1241.         MapCommentsPrefix = ";"
  1242.         OutputMapFormat = "Classic Quake"
  1243.  
  1244.         BuildPgm1  = "KPBSP.EXE"
  1245.         BuildArgs1 = ""
  1246.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1247.         BuildPgm2  = "KPVIS.EXE"
  1248.         BuildArgs2 = ""
  1249.         BuildPgm3  = "KPRAD.EXE"
  1250.         BuildArgs3 = "-gamedir .. -moddir ."
  1251.  
  1252.         TexturesPath = "textures/"
  1253.         Q2TexFlags = "1"
  1254.  
  1255.         DefaultTexture = "bricks/b_cp_v10x"
  1256.         DefaultTextureTrigger = "common/0_trigger"
  1257.         DefaultTextureOrigin = "common/0_origin"
  1258.         DefaultTextureClip = "common/0_clip"
  1259.  
  1260.         walTrick = "1"
  1261.         TextureFormat = ".tga"
  1262.         TextureWriteFormat = ".tga"
  1263.  
  1264.         BaseDir = "main"
  1265.         tmpQuArK = "tmpQuArK"
  1266.  
  1267.         Palette = "pics/colormap.pcx"
  1268.         Gradient = "pics/colormap.pcx"
  1269.         UnifiedPalette = "1"
  1270.         ExtractFiles = "pics/colormap.pcx"
  1271.         ExtraCmdLine = "+set game %s"
  1272.         RunMapCmdLine = " +map %s"
  1273.         AddOns = "DataKP.qrk"
  1274.         AlwaysPak = ""
  1275.         PakExt = ".pak"
  1276.         Console = "1"
  1277.         Form = "GameKingPin"
  1278.         LightFactor = '0.90000' //adjust radius around light that it shows how far the light goes
  1279.         3DLight = '512'
  1280.       }
  1281.       SOF:config =
  1282.       {
  1283.         Game = "SOF"
  1284.         Code = "E" // Hardcoded value in Setup.PAS
  1285.  
  1286.         Program = "sof.EXE"
  1287.  
  1288.         Directory = "\SOF"
  1289.         CheckDirectory = "SOF.EXE"
  1290.  
  1291.         CD = ""
  1292.         CDDir = "Install\Data"
  1293.  
  1294.         MapCommentsPrefix = ";"
  1295.         OutputMapFormat = "Classic Quake"
  1296.  
  1297.         StupidBuildToolKludge = "1" //those guys should get shot for that
  1298.         BuildPgm1  = "SOFBSP.EXE"
  1299.         BuildArgs1 = ""
  1300.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1301.         BuildPgm2  = "SOFVIS.EXE"
  1302.         BuildArgs2 = ""
  1303.         BuildPgm3  = "SOFARGHRAD.EXE"
  1304.         BuildArgs3 = "-gamedir .. -moddir ."
  1305.  
  1306.         TexturesPath = "textures/"
  1307.         Q2TexFlags = "1"
  1308.  
  1309.         DefaultTexture = "armory/1_2_subfloor1"
  1310.         DefaultTextureTrigger = "armory/trigger"
  1311.         DefaultTextureOrigin = "armory/origin"
  1312.         DefaultTextureClip = "armory/clip"
  1313.  
  1314.         walTrick = "1"     // FIXME is that needed ?
  1315.         TextureFormat = ".m32"
  1316.         TextureWriteFormat = ".m32"
  1317.  
  1318.         BaseDir = "base"
  1319.         tmpQuArK = "tmpQuArK"
  1320.  
  1321.         ExtraCmdLine = "+set game %s"
  1322.         RunMapCmdLine = " +map %s"
  1323.         AddOns = "DataSOF.qrk"
  1324.         AlwaysPak = ""
  1325.         PakExt = ".pak"
  1326.         Console = "1"
  1327.         Form = "GameSOF"
  1328.         LightFactor = '0.90000'
  1329.         3DLight = '512'
  1330.       }
  1331.       6DX:config =
  1332.       {
  1333.         Game = "6DX"
  1334.         Code = "Z" // Hardcoded value in Setup.PAS
  1335.  
  1336.         Program = "6DX11.EXE"
  1337.  
  1338.         Directory = ""
  1339.         CheckDirectory = ""
  1340.  
  1341.         MapCommentsPrefix = ";"
  1342.         OutputMapFormat = "Quark etp"
  1343.  
  1344.         TexturesPath = "textures/"
  1345.         Q2TexFlags = "1"
  1346.         NoMapChecks = "1"
  1347.  
  1348.         DefaultTexture = "walls/brown"
  1349.         DefaultTextureTrigger = "special/trigger" //FIXME
  1350.         DefaultTextureClip = "special/clip" //FIXME
  1351.  
  1352.         walTrick = "1"
  1353.         TextureFormat = ".m8"
  1354.         TextureWriteFormat = ".m8"
  1355.  
  1356.         BaseDir = "base"
  1357.         tmpQuArK = "tmpQuArK"
  1358.  
  1359.         Palette = ":pics/colormap.pcx"
  1360.         //Gradient = "gfx/colormap.lmp"
  1361.         ExtraCmdLine = "+set game %s"
  1362.         RunMapCmdLine = " +map %s"
  1363.         AddOns = "Data6DX.qrk"
  1364.         AlwaysPak = ""
  1365.         PakExt = ".pak"
  1366.         PakFormat = "HTIC2-#.PAK"
  1367.         MapFilter = "808"     // filter in quarkpy.qdictionnary.py
  1368.         Console = "1"
  1369.         Form = "Game6DX"
  1370.         LightFactor = '0.9'
  1371.         3DLight = '512'
  1372.       }
  1373.       Quake 3:config =
  1374.       {
  1375.         Game = "Quake 3"
  1376.         Code = "a" // Hardcoded value in Setup.PAS
  1377.         Program = "Quake3.EXE +set sv_pure 0"
  1378.  
  1379.         Directory = "\Quake3"
  1380.         CheckDirectory = "QUAKE3.EXE"
  1381.  
  1382.         CD = ""
  1383.         CDDir = "\Quake3\baseq3"
  1384.  
  1385.         MapLimit = '65536 65536 65536'
  1386.  
  1387.         MapCommentsPrefix = "//"
  1388.         OutputMapFormat = "Brush Primitives"
  1389.         StupidBuildToolKludge = "1" //those guys should get shot for that
  1390.         AlwaysWriteThreeFields = "1"
  1391.         SupportsBrushPrim = "1"
  1392.         BuildPgm1  = "Q3MAP.EXE"
  1393.         BuildArgs1 = "-moddir .."
  1394.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1395.         BuildPgm2  = "Q3MAP.EXE"
  1396.         BuildArgs2 = "-vis -saveprt"
  1397.         BuildPgm3  = "Q3MAP.EXE"
  1398.         BuildArgs3 = "-light"
  1399.         BuildPgm4  = "BSPC.EXE"
  1400.         BuildArgs4 = "-bsp2aas %file%.BSP -output %mappath%"
  1401.         BuildCheck4= "+AAS"
  1402.  
  1403.         TexturesPath = "textures/"
  1404.         ShadersPath = "scripts/"
  1405.         Q2TexFlags = "1"
  1406.  
  1407.         BezierPatchSupport = "1" // this game supports bezier-patches
  1408.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1409.  
  1410.         DefaultTexture = "base_wall/basewall03"
  1411.         DefaultTextureTrigger = "common/trigger"
  1412.         DefaultTextureOrigin = "common/origin"
  1413.         DefaultTextureClip = "common/clip"
  1414.         DefaultTextureCaulk = "common/caulk"
  1415.         DefaultTextureScale = "0.5"
  1416.  
  1417.         TextureFormat = ".tga"                  // primary texture fileextension
  1418.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1419.         TextureWriteFormat = ".tga"
  1420.         TextureShaders = "scripts/quark.shader"
  1421.  
  1422.         BaseDir = "baseq3"
  1423.         tmpQuArK = "tmpQuArK"
  1424.  
  1425.         Palette = ":pics/colormap.pcx"
  1426.         ExtraCmdLine = "+set fs_game %s"
  1427.         RunMapCmdLine = " +devmap %s"
  1428.         AddOns = "DataQ3.qrk"$0D"Q3ArchLib.qrk"$0D"Q3models.qrk"
  1429.         AlwaysPak = ""
  1430.         PakExt = ".pk3"
  1431.         PakFormat = "*.PK3"
  1432.         Console = "1"
  1433.         Form = "GameQuake3"
  1434.         LightFactor = '0.9'
  1435.         3DLight = '512'
  1436.         PakExtra1 = ".aas"  // PAK extra files into pak file (ie maps/mapname.aas)
  1437.       }
  1438.       STVEF:config =
  1439.       {
  1440.         Game = "STVEF"
  1441.         Code = "b" // Hardcoded value in Setup.PAS
  1442.  
  1443.         Program = "STVoy.EXE +set sv_pure 0"
  1444.  
  1445.         Directory = ""
  1446.         CheckDirectory = "STVOY.EXE"
  1447.  
  1448.         CD = ""
  1449.         CDDir = "Setup\BaseEF"
  1450.  
  1451.         MapCommentsPrefix = "//"
  1452.         OutputMapFormat="Brush Primitives"
  1453.         AlwaysWriteThreeFields = "1"
  1454.  
  1455.         StupidBuildToolKludge = "1" //those guys should get shot for that
  1456.         BuildPgm1  = "Q3MAP.EXE"
  1457.         BuildArgs1 = "-qdir stvef"
  1458.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1459.         BuildPgm2  = "Q3MAP.EXE"
  1460.         BuildArgs2 = "-vis -qdir stvef"
  1461.         BuildPgm3  = "Q3MAP.EXE"
  1462.         BuildArgs3 = "-light -qdir stvef"
  1463.         BuildPgm4  = "BSPC.EXE"
  1464.         BuildArgs4 = "-bsp2aas"
  1465.         BuildCheck4= "+AAS"
  1466.  
  1467.         TexturesPath = "textures/"
  1468.         ShadersPath = "scripts/"
  1469.         Q2TexFlags = "1"
  1470.  
  1471.         BezierPatchSupport = "1" // this game supports bezier-patches
  1472.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1473.  
  1474.         DefaultTexture = "cargo/walllow"
  1475.         DefaultTextureTrigger = "common/trigger"
  1476.         DefaultTextureClip = "common/clip"
  1477.         DefaultTextureOrigin = "common/origin"
  1478.         DefaultTextureCaulk = "common/caulk"
  1479.  
  1480.         TextureFormat = ".tga"                  // primary texture fileextension
  1481.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1482.         TextureWriteFormat = ".tga"
  1483.         TextureShaders = "scripts/quark.shader"
  1484.  
  1485.         BaseDir = "baseEF"
  1486.         tmpQuArK = "tmpquark"
  1487. //        tmpQuArK = "BaseEF"
  1488.         Palette = ":pics/colormap.pcx"
  1489.         ExtraCmdLine = "+set fs_game %s"
  1490.         RunMapCmdLine = " +devmap %s"
  1491.         AddOns = "DataSTVEF.qrk"
  1492.         AlwaysPak = ""
  1493.         PakExt = ".pk3"
  1494.         PakFormat = "*.PK3"
  1495.         Console = "1"
  1496.         Form = "GameSTVEF"
  1497.         LightFactor = '0.9'
  1498.         3DLight = '512'
  1499.       }
  1500.       Crystal Space:config =
  1501.       {
  1502.         Game = "Crystal Space"
  1503.         Code = "c" // Hardcoded value in Setup.PAS
  1504.  
  1505.         Program = "WalkTest.EXE"
  1506.  
  1507.         Directory = "/quark2cs_511/"
  1508.         CheckDirectory = "WALKTEST.EXE"
  1509.  
  1510.         MapCommentsPrefix = "//"
  1511.         OutputMapFormat="Classic Quake"
  1512.  
  1513.         BuildPgm1 = "MAP2CS.EXE"
  1514.         BuildArgs1 = "%mapfile% %file%.zip c:\map2cs\map2cs.cfg"
  1515.  
  1516.         BuildPgm2 = "cp"
  1517.         BuildArgs2 = "%file%.zip %mappath%\.."
  1518.  
  1519.         TexturesPath = "textures/"
  1520.         Q2TexFlags = "1"
  1521.  
  1522.         BezierPatchSupport = "1" // this game supports bezier-patches
  1523.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1524.  
  1525.         DefaultTexture = "intro/wl_outbrick1a"
  1526.  
  1527.         TextureWad = "?"  // variable (the map name is used)
  1528.         TextureWriteFormat = ".wad3_C"
  1529.  
  1530.         BaseDir = "data"
  1531.         tmpQuArK = "data"
  1532.  
  1533.         Palette = ":pics/colormap.pcx"
  1534.         ExtraCmdLine = ""
  1535.         RunMapCmdLine = " %s"
  1536.         AddOns = "DataCS.qrk"
  1537.         AlwaysPak = ""
  1538.         PakExt = ".zip"
  1539.         LightFactor = '0.90000'
  1540.         3DLight = '512'
  1541.         Console = "1"
  1542.         Form = "GameCrystalSpace"
  1543.         PlayerClass = "X"
  1544.       }
  1545.       Torque:config =
  1546.       {
  1547.         Game = "Torque"
  1548.         Code = "g" // Hardcoded value in Setup.PAS
  1549.         Program = "map2dif_DEBUG.exe"
  1550.         Directory = "c:\Torque"
  1551.         //CheckDirectory = "map2dif_DEBUG.exe"
  1552.         MapCommentsPrefix = "//"
  1553.         //   StupidBuildToolKludge = "1"
  1554.         //******************************************************************************
  1555.         // 220 MAPVERSION
  1556.         // -v verbose -h Process for final build (exhaustive BSP search)(220 mapversion)
  1557.         BuildPgm1 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1558.         BuildArgs1 = "-v -h -o ./maps -t ./textures %mapfile%"
  1559.         //
  1560.         // -l Process as low detail shape
  1561.         BuildPgm2 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1562.         BuildArgs2 = "-v -l -o ./maps -t ./textures %mapfile%"
  1563.         //
  1564.         // -g Generate navigation graph info
  1565.         BuildPgm3 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1566.         BuildArgs3 = "-v -g -o ./maps -t ./textures %mapfile%"
  1567.         //
  1568.         // -e Do extrusion test
  1569.         BuildPgm4 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1570.         BuildArgs4 = "-v -e -o ./maps -t ./textures %mapfile%"
  1571.         //
  1572.         // -n Noisy error/statistic reporting
  1573.         BuildPgm5 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1574.         BuildArgs5 = "-v -n -o ./maps -t ./textures %mapfile%"
  1575.         //
  1576.         // -p Include a preview bitmap in the interior file
  1577.         BuildPgm6 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1578.         BuildArgs6 = "-v -p -o ./maps -t ./textures %mapfile%"
  1579.         //*****************************************************************************
  1580.         // USING LEWIS BRUCK'S -q 3 VERSION
  1581.         // -v verbose -h Process for final build (exhaustive BSP search)(q3 mapversion)
  1582.         BuildPgm9 = "c:\torque\tmpquark\map2dif_DEBUG.exe"
  1583.         BuildArgs9 = "-v -h -q 3 -o ./maps -t ./textures %mapfile%"
  1584.         //*****************************************************************************
  1585.         TexturesPath = "textures/"
  1586.         //   DefaultTexture = ""
  1587.         //   DefaultTextureTrigger = "trigger"
  1588.         //   DefaultTextureOrigin = "origin"
  1589.         //   DefaultTextureClip = "clip"
  1590.         //   DefaultTextureCaulk = "caulk"
  1591.         //   DefaultTextureScale = "0.5"
  1592.         DefaultTexture = ""
  1593.         TextureFormat = ".jpg"
  1594.         TextureWriteFormat = ".jpg"
  1595.         BaseDir = "base"
  1596.         tmpQuArK = "tmpQuArK"
  1597.         //   AlwaysPak = ""
  1598.         //   PakExt = ".pk3"
  1599.         //   PakFormat = "*.PK3"
  1600.         ExtraCmdLine = ""
  1601.         RunMapCmdLine = " %s"
  1602.         AddOns = "DataTorque.qrk"
  1603.         Console = "1"
  1604.         Form = "GameTorque"
  1605.         //   PlayerClass = "X"
  1606.       }
  1607.  
  1608.       RTCW:config =
  1609.       {
  1610.         Game = "RTCW"
  1611.         Code = "d" // Hardcoded value in Setup.PAS
  1612.         Program = "WOLFMP.EXE +set sv_pure 0"
  1613.  
  1614.         Directory = "c:\Progra~1\Return~1"
  1615.         CheckDirectory = "WOLFSP.EXE"
  1616.  
  1617.         CD = ""
  1618.         CDDir = ""
  1619.  
  1620.         MapLimit = '65536 65536 65536'
  1621.  
  1622.         MapCommentsPrefix = "//"
  1623.         OutputMapFormat="Brush Primitives"
  1624.         AlwaysWriteThreeFields = "1"
  1625.  
  1626.         StupidBuildToolKludge = "" // GTKRadiant's Q3MAP.EXE seems to work, when '-game wolf' and -fs_basepath <gamepath>' are applied.
  1627.         BuildPgm1  = "Q3MAP2.EXE"
  1628.         BuildArgs1 = "-game "$22"wolf"$22" -fs_basepath "$22"%basepath%"$22" "$22"%file%"$22
  1629.  
  1630.         BuildCheck1 = "+BSP,-LIN{LoadLinFile}"
  1631.         BuildPgm2  = "Q3MAP2.EXE"
  1632.         BuildArgs2 = "-game "$22"wolf"$22" -fs_basepath "$22"%basepath%"$22" -vis -saveprt "$22"%file%"$22
  1633.         BuildPgm3  = "Q3MAP2.EXE"
  1634.         BuildArgs3 = "-game "$22"wolf"$22" -fs_basepath "$22"%basepath%"$22" -vlight "$22"%file%"$22
  1635.         BuildPgm4 = "BSPC.EXE"
  1636.         BuildArgs4 = "-threads 1 -ext _b0 -cfg %buildpgmsdir%\aascfg_sm.c -bsp2aas ..\%output%\%file%.bsp -output ..\%output%\maps"
  1637. //        BuildCheck4= "+AAS"  // it's actually _b0.aas
  1638.         BuildPgm5 = "BSPC.EXE"
  1639.         BuildArgs5 = "-threads 1 -ext _b1 -cfg %buildpgmsdir%\aascfg_lg.c -bsp2aas %basepath%\%output%\%file%.bsp -output ..\%output%\maps"
  1640.         TexturesPath = "textures/"
  1641.         ShadersPath = "scripts/"
  1642.         Q2TexFlags = "1"
  1643.  
  1644.         BezierPatchSupport = "1" // this game supports bezier-patches
  1645.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1646.  
  1647.         DefaultTexture = "xlab_wall/xconcrete_c53b"
  1648.         DefaultTextureTrigger = "common/trigger"
  1649.         DefaultTextureOrigin = "common/origin"
  1650.         DefaultTextureClip = "common/clip"
  1651.         DefaultTextureCaulk = "common/caulk"
  1652.         DefaultTextureScale = "0.5"
  1653.  
  1654.         TextureFormat = ".tga"                  // primary texture fileextension
  1655.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1656.         TextureWriteFormat = ".tga"
  1657.         TextureShaders = "scripts/quark.shader"
  1658.  
  1659.         BaseDir = "main"
  1660.         tmpQuArK = "tmpQuArK"
  1661.  
  1662.         Palette = ":pics/colormap.pcx"
  1663.         ExtraCmdLine = "+set fs_game %s"
  1664.         RunMapCmdLine = " +devmap %s" // won't work, but open console and
  1665.                                       //   run the map by /spmap <mapname> in the console
  1666.         AddOns = "DataRTCW.qrk"$0D"Q3ArchLib.qrk"
  1667.         AlwaysPak = ""
  1668.         PakExt = ".pk3"
  1669.         PakFormat = "*.PK3"
  1670.         Console = "1"
  1671.         Form = "GameRTCW"
  1672.         LightFactor = '0.9'
  1673.         3DLight = '512'
  1674.         PakExtra1 = ".aas"  // PAK extra files into pak file (ie maps/mapname.aas)
  1675.       }
  1676.  
  1677.       WildWest:config =
  1678.       {
  1679.         // WildWest game add on by SilverPaladin (Capt. Queeg to WildWest folk)
  1680.         Game = "WildWest"
  1681.         Code = "w" // Hardcoded value in Setup.PAS
  1682.         Program = "WOLFMP.EXE +set sv_pure 0 +set fs_game WildWest "
  1683.  
  1684.         Directory = "C:\Progra~1\Return~1\"
  1685.         CheckDirectory = "WildWest.EXE"
  1686.  
  1687.         CD = ""
  1688.         CDDir = "WildWest"
  1689.  
  1690.         MapLimit = '65536 65536 65536'
  1691.  
  1692.         MapCommentsPrefix = "//"
  1693.         OutputMapFormat="Brush Primitives"
  1694.         AlwaysWriteThreeFields = "1"
  1695.         StupidBuildToolKludge = "" // GTKRadiant's Q3MAP.EXE seems to work, when '-game wolf' and -fs_basepath <gamepath>' are applied.
  1696.         BuildPgm1  = "Q3MAP2.EXE"
  1697.         BuildPgmsDir = "c:\Progra~1\Return~1\Radiant"
  1698. // RtCW BuildArgs1 = "-game "$22"wolf"$22" -fs_basepath "$22"%basepath%"$22" "$22"%file%"$22
  1699.         BuildArgs1 = "-game wolf -fs_basepath "$22"%basepath%."$22" -fs_game WildWest "$22"%mapfile%"$22
  1700.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1701.         BuildPgm2  = "Q3MAP2.EXE"
  1702.         BuildArgs2 = "-game wolf -fs_basepath "$22"%basepath%."$22" -fs_game WildWest -vis -saveprt "$22"%mapfile%"$22
  1703. // RtCW BuildArgs2 = "-game "$22"wolf"$22" -fs_basepath "$22"%basepath%"$22" -vis -saveprt "$22"%file%"$22
  1704.         BuildPgm3  = "Q3MAP2.EXE"
  1705.         BuildArgs3 = "-game wolf -fs_basepath "$22"%basepath%."$22" -fs_game WildWest -vlight "$22"%mapfile%"$22
  1706. // RtCW BuildArgs3 = "-game "$22"wolf"$22" -fs_basepath "$22"%basepath%"$22" -vlight "$22"%file%"$22
  1707.         BuildPgm4 = "BSPC.EXE"
  1708.         BuildArgs4 = "-threads 1 -ext _b0 -cfg %buildpgmsdir%\aascfg_sm.c -bsp2aas ..\%output%\%file%.bsp -output ..\%output%\maps"
  1709. //        BuildCheck4= "+AAS"  // it's actually _b0.aas
  1710.         BuildPgm5 = "BSPC.EXE"
  1711.         BuildArgs5 = "-threads 1 -ext _b1 -cfg %buildpgmsdir%\aascfg_lg.c -bsp2aas %basepath%\%output%\%file%.bsp -output ..\%output%\maps"
  1712.         TexturesPath = "textures/"
  1713.         ShadersPath = "scripts/"
  1714.         Q2TexFlags = "1"
  1715.  
  1716.         BezierPatchSupport = "1" // this game supports bezier-patches
  1717.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1718.  
  1719.         DefaultTexture = "cowboys/kb_wood03"
  1720.         DefaultTextureTrigger = "common/trigger"
  1721.         DefaultTextureOrigin = "common/origin"
  1722.         DefaultTextureClip = "common/clip"
  1723.         DefaultTextureCaulk = "common/caulk"
  1724.         DefaultTextureScale = "0.5"
  1725.  
  1726.         TextureFormat = ".tga"                  // primary texture fileextension
  1727.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1728.         TextureWriteFormat = ".tga"
  1729.         TextureShaders = "scripts/quark.shader"
  1730.  
  1731.         BaseDir = "WildWest"
  1732.         tmpQuArK = "WildWest"
  1733.  
  1734.         Palette = ":pics/colormap.pcx"
  1735.         ExtraCmdLine = ""
  1736.         RunMapCmdLine = " +devmap %s" // won't work, but open console and
  1737.                                       //   run the map by /spmap <mapname> in the console
  1738.         AddOns = "DataWildWest.qrk"$0D"Q3ArchLib.qrk"
  1739.         AlwaysPak = ""
  1740.         PakExt = ".pk3"
  1741.         PakFormat = "*.PK3"
  1742.         Console = "1"
  1743.         Form = "GameWildWest"
  1744.         LightFactor = '0.9'
  1745.         3DLight = '512'
  1746.         PakExtra1 = ".aas"  // PAK extra files into pak file (ie maps/mapname.aas)
  1747.       }
  1748.  
  1749.       MOHAA:config =
  1750.       {
  1751.         Game = "MOHAA"
  1752.         Code = "e" // Hardcoded value in Setup.PAS
  1753. //        Program = "MOHAA.EXE +set sv_pure 0"
  1754.         Program = "mohaa +set developer 1 +set thereisnomonkey 1 +set cheats 1 +set ui_console 1"
  1755.  
  1756.         Directory = "\MOHAA"
  1757.         CheckDirectory = "MOHAA.EXE"
  1758.  
  1759.         CD = ""
  1760.         CDDir = ""
  1761.  
  1762.         MapLimit = '65536 65536 65536'
  1763.  
  1764.         MapCommentsPrefix = "//"
  1765.         OutputMapFormat="Classic Quake"
  1766.         AlwaysWriteThreeFields = "1"
  1767.         EditableSurfaceParms="1"
  1768.  
  1769.         StupidBuildToolKludge = ""
  1770.         BuildPgm1  = "Q3MAP.EXE"
  1771.         BuildArgs1 = "-gamedir "$22"%basepath%"$22" "$22"%file%"$22
  1772.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1773.         BuildPgm2  = "Q3MAP.EXE"
  1774.         BuildArgs2 = "-vis -gamedir "$22"%basepath%"$22" "$22"%file%"$22
  1775.         BuildPgm3  = "MOHLIGHT.EXE"
  1776.         BuildArgs3 = "-gamedir "$22"%basepath%"$22" "$22"%file%"$22
  1777.       //BuildPgm4  = "BSPC.EXE"
  1778.       //BuildArgs4 = "-bsp2aas %file%.BSP -output %mappath%"
  1779.       //BuildCheck4= "+AAS"
  1780.  
  1781.         TexturesPath = "textures/"
  1782.         ShadersPath = "scripts/"
  1783.         Q2TexFlags = "1"
  1784.  
  1785.         BezierPatchSupport = "1" // this game supports bezier-patches
  1786.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1787.  
  1788.         DefaultTexture = "general_structure/archstone2lt"
  1789.         DefaultTextureTrigger = "common/trigger"
  1790.         DefaultTextureOrigin = "common/origin"
  1791.         DefaultTextureClip = "common/clip"
  1792.         DefaultTextureCaulk = "common/caulk"
  1793.         DefaultTextureScale = "0.5"
  1794.  
  1795.         TextureFormat = ".tga"                  // primary texture fileextension
  1796.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1797.         TextureWriteFormat = ".tga"
  1798.         TextureShaders = "scripts/quark.shader"
  1799.  
  1800.         BaseDir = "main"
  1801.         tmpQuArK = "main"
  1802.  
  1803.         Palette = ":pics/colormap.pcx"
  1804.         ExtraCmdLine = "+set developer 1 +set thereisnomonkey 1 +set cheats 1 +set ui_console 1 +set fs_game %s"
  1805.         RunMapCmdLine = " +map %s"
  1806.         AddOns = "DataMOHAA.qrk"$0D"Q3ArchLib.qrk"
  1807.         AlwaysPak = ""
  1808.         PakExt = ".pk3"
  1809.         PakFormat = "*.PK3"
  1810.         Console = "1"
  1811.         Form = "GameMOHAA"
  1812.         LightFactor = '0.9'
  1813.         3DLight = '512'
  1814.       //PakExtra1 = ".aas"  // PAK extra files into pak file (ie maps/mapname.aas)
  1815.       }
  1816.  
  1817.       JK2:config =
  1818.       {
  1819.         Game = "JK2"
  1820.         Code = "f" // Hardcoded value in Setup.PAS
  1821.         Program = "JK2MP.EXE +set sv_pure 0"
  1822.  
  1823.         Directory = "\Star Wars JK II Jedi Outcast\GameData"
  1824.         CheckDirectory = "JK2MP.EXE"
  1825.  
  1826.         CD = ""
  1827.         CDDir = ""
  1828.  
  1829.         MapLimit = '65536 65536 65536'
  1830.  
  1831.         MapCommentsPrefix = "//"
  1832.         OutputMapFormat="Classic Quake"
  1833.         AlwaysWriteThreeFields = "1"
  1834.  
  1835.         StupidBuildToolKludge = "1" // GTKRadiant's Q3MAP.EXE seems to work, when '-game wolf' and -fs_basepath <gamepath>' are applied.
  1836.         BuildPgm1  = "SOF2MAP.EXE"
  1837.         BuildArgs1 = "-bsp"
  1838.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1839.         BuildPgm2  = "SOF2MAP.EXE"
  1840.         BuildArgs2 = "-vis -saveprt"
  1841.         BuildPgm3  = "SOF2MAP.EXE"
  1842.         BuildArgs3 = "-light"
  1843.         BuildPgm4  = "SOF2MAP.EXE"
  1844.         BuildArgs4 = "-all"
  1845.  
  1846.         TexturesPath = "textures/"
  1847.         ShadersPath = "shaders/"
  1848.         Q2TexFlags = "1"
  1849.  
  1850.         BezierPatchSupport = "1" // this game supports bezier-patches
  1851.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1852.  
  1853.         DefaultTexture = "yavin/woodwall_moss"
  1854.         DefaultTextureTrigger = "system/trigger"
  1855.         DefaultTextureOrigin = "system/origin"
  1856.         DefaultTextureClip = "system/clip"
  1857.         DefaultTextureCaulk = "system/caulk"
  1858.         DefaultTextureScale = "0.5"
  1859.  
  1860.         TextureFormat = ".tga"                  // primary texture fileextension
  1861.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1862.         TextureWriteFormat = ".tga"
  1863.         TextureShaders = "shaders/quark.shader"
  1864.  
  1865.         BaseDir = "base"
  1866.         tmpQuArK = "tmpQuArK"
  1867.  
  1868.         Palette = ":pics/colormap.pcx"
  1869.         ExtraCmdLine = "+set fs_game %s"
  1870.         RunMapCmdLine = " +devmap %s"
  1871.         AddOns = "DataJK2.qrk"$0D"Q3ArchLib.qrk"
  1872.         AlwaysPak = ""
  1873.         PakExt = ".pk3"
  1874.         PakFormat = "*.PK3"
  1875.         Console = "1"
  1876.         Form = "GameJK2"
  1877.         LightFactor = '0.9'
  1878.         3DLight = '512'
  1879.         PakExtra1 = ".nav"  // PAK extra files into pak file (ie maps/mapname.nav)
  1880.       }
  1881.  
  1882.       SoF2:config =
  1883.       {
  1884.         Game = "SoF2"
  1885.         Code = "h" // Hardcoded value in Setup.PAS
  1886.         Program = "SoF2MP.EXE +set sv_pure 0"
  1887.  
  1888.         Directory = "\SoF2"
  1889.         CheckDirectory = "SoF2MP.EXE"
  1890.  
  1891.         CD = ""
  1892.         CDDir = ""
  1893.  
  1894.         MapLimit = '65536 65536 65536'
  1895.  
  1896.         MapCommentsPrefix = "//"
  1897.         OutputMapFormat="Classic Quake"
  1898.         AlwaysWriteThreeFields = "1"
  1899.  
  1900.         StupidBuildToolKludge = "1" // GTKRadiant's Q3MAP.EXE seems to work, when '-game wolf' and -fs_basepath <gamepath>' are applied.
  1901.         BuildPgm1  = "SOF2MAP.EXE"
  1902.         BuildArgs1 = "-bsp"
  1903.         BuildCheck1= "+BSP,-LIN{LoadLinFile}"
  1904.         BuildPgm2  = "SOF2MAP.EXE"
  1905.         BuildArgs2 = "-vis -saveprt"
  1906.         BuildPgm3  = "SOF2MAP.EXE"
  1907.         BuildArgs3 = "-light"
  1908.         BuildPgm4  = "SOF2MAP.EXE"
  1909.         BuildArgs4 = "-all"
  1910.  
  1911.         TexturesPath = "textures/"
  1912.         ShadersPath = "shaders/"
  1913.         Q2TexFlags = "1"
  1914.  
  1915.         BezierPatchSupport = "1" // this game supports bezier-patches
  1916.         BezierPatchPluginPrefixes = "MB2" // Prefix of the MB2*.PY files. You can also specify the value: "MB2"$0D"MB3"$0D"MB4"
  1917.  
  1918.         DefaultTexture = "jordan/wall_stucco02"
  1919.         DefaultTextureTrigger = "tools/_trigger"
  1920.         DefaultTextureOrigin = "tools/_origin"
  1921.         DefaultTextureClip = "tools/_clip"
  1922.         DefaultTextureCaulk = "tools/_caulk"
  1923.         DefaultTextureScale = "0.5"
  1924.  
  1925.         TextureFormat = ".tga"                  // primary texture fileextension
  1926.         TextureFileExtensions = ".tga,.jpg"     // possible texture fileextensions
  1927.         TextureWriteFormat = ".tga"
  1928.         TextureShaders = "shaders/quark.shader"
  1929.  
  1930.         BaseDir = "base"
  1931.         tmpQuArK = "tmpQuArK"
  1932.  
  1933.         Palette = ":pics/colormap.pcx"
  1934.         ExtraCmdLine = "+set fs_game %s"
  1935.         RunMapCmdLine = " +devmap %s"
  1936.         AddOns = "DataSoF2.qrk"$0D"Q3ArchLib.qrk"
  1937.         AlwaysPak = ""
  1938.         PakExt = ".pk3"
  1939.         PakFormat = "*.PK3"
  1940.         Console = "1"
  1941.         Form = "GameSoF2"
  1942.         LightFactor = '0.9'
  1943.         3DLight = '512'
  1944.         PakExtra1 = ".nav"  // PAK extra files into pak file (ie maps/mapname.nav)
  1945.       }
  1946.  
  1947.       Genesis3D:config =
  1948.       {
  1949.         Game = "Genesis3D"
  1950.         Code = "4" // Hardcoded value in Setup.PAS
  1951.  
  1952.         Program = "Quake.EXE"
  1953.  
  1954.         Directory = "\Quake"
  1955.         CheckDirectory = "QUAKE.EXE"
  1956.  
  1957.         MapCommentsPrefix = "//"
  1958.  
  1959.         OutputMapFormat = "Classic Quake"
  1960.         BuildPgm1  = "TXQBSP.EXE"
  1961.         BuildArgs1 = ""
  1962.         BuildCheck1= "+BSP,+PRT"
  1963.         BuildPgm2  = "RVIS.EXE"
  1964.         BuildArgs2 = ""
  1965.         BuildPgm3  = "ARGHLITE.EXE"
  1966.         BuildArgs3 = ""
  1967.  
  1968.         DefaultTexture = "bricka2_2"
  1969.         DefaultTextureTrigger = "trigger"
  1970.         DefaultTextureClip = "clip"
  1971.  
  1972.         WateryTex = "*"
  1973.         TextureFormat = ".wad_D"
  1974.         TextureWriteFormat = ".wad_D"
  1975.         TextureWad = "gfx/QuArK.wad"
  1976.  
  1977.         BaseDir = "id1"
  1978.         tmpQuArK = "tmpQuArK"
  1979.  
  1980.         MapHoles = ".pts"
  1981.         Palette = "gfx/palette.lmp"
  1982.         Gradient = "gfx/colormap.lmp"
  1983.         UnifiedPalette = "1"
  1984.         ExtraCmdLine = "-game %s"
  1985.         RunMapCmdLine = " +map %s"
  1986.         AddOns = "DataGen3D.qrk"    // list of files to use as add-ons for Quake 1 (separator is the character $0D hex., example : "first.qrk"$0D"second.qrk"$0D"third.qrk"
  1987.         AlwaysPak = ""
  1988.         PakExt = ".pak"
  1989.         LightFactor = '0.9'
  1990.         3DLight = '512'
  1991.         Console = "1"
  1992.         Form = "GameQuake1"
  1993.         PlayerClass = "X"
  1994.       }
  1995.  
  1996.     }
  1997.  
  1998.     Map:config =
  1999.     {
  2000.       Mouse:config =
  2001.       {
  2002.         Left        = "S"
  2003.         LeftShift   = "FS"
  2004.         LeftCtrl    = "ST"
  2005.         Right       = "SM"
  2006.         RightShift  = "M"
  2007.         RightCtrl   = "STM"
  2008.         Middle      = "+"
  2009.         MiddleShift = ""
  2010.         MiddleCtrl  = "-"
  2011.         LeftDrag        = "RS"
  2012.         LeftDragShift   = "C"
  2013.         LeftDragCtrl    = "RST"
  2014.         RightDrag       = "S"
  2015.         RightDragShift  = "Z"
  2016.         RightDragCtrl   = "R+"
  2017.         MiddleDrag      = "Z"
  2018.         MiddleDragShift = "R-"
  2019.         MiddleDragCtrl  = "R+"
  2020.         Form = "MapMouse"
  2021.       }
  2022.       Keys:config =
  2023.       {
  2024.         GridPlus = $C0
  2025.         GridMinus = $BA
  2026.         ZoomIn = "k"
  2027.         ZoomOut = "m"
  2028.         MoveLeft = "%"
  2029.         MoveRight = "'"
  2030.         MoveUp = "&"
  2031.         MoveDown = "("
  2032.         Form = "MapKeys"
  2033.       }
  2034.       Options:config =
  2035.       {
  2036.         DrawAxis                = "1"
  2037.         SolidGrid               = ""
  2038.         GridVisible             = "1"
  2039.         GridActive              = "1"
  2040.         GridVisibleTex          = "1"
  2041.         RedLines2               = ""
  2042.       //ShowWholeLevel          = ""
  2043.       //GrayOutOfView           = "1"
  2044.       //HideOutOfView           = ""
  2045.       //Textured                = ""
  2046.         CrossCursor             = "1"
  2047.         AutoAdjustNormal        = ""
  2048.         DrawMapLimit            = "1"
  2049.         PagesLocked             = ""
  2050.         TexPanelActive          = "1"
  2051.         TexPanelLight           = "1"
  2052.         BBoxAlways              = "1"
  2053.         BBoxSelected            = "1"
  2054.         DeleteFaces             = "1"
  2055.       //ViewModels              = "1"
  2056.         NoScrollBars            = "1"
  2057.         PolySubtractMax         = ""
  2058.         HideFaces               = ""
  2059.         AutoClosePoly           = ""
  2060.         Recenter                = "1"
  2061.         HandleHints             = "1"
  2062.         TreeKeybDelay           = "1"
  2063.         IgnoreToBuild           = "1"
  2064.         DisableMapComments      = ""
  2065. //        DisableEnhTex           = ""
  2066.         DisableFPCoord          = ""
  2067. // Experimental; disable in distributions:
  2068. //        UseIntetralVertices     = ""
  2069.         AutoCheckMap            = "1"
  2070.         EntityLinesDispersion   = "1"
  2071.         CompassNumbers          = "1"
  2072.         ComputePolys            = "1"
  2073.         HideMouseDrag           = "1"
  2074.         Form = "MapOptions"
  2075.       }
  2076.       Building:config =
  2077.       {
  2078.         DefPoly = "128x128x128"
  2079.         WallWidth = '-8'
  2080.         mpOffset = '0 0 64'
  2081.         mpZoom = '2'
  2082.         mpRotate = '15'
  2083.         ForceAngleStep = '15'
  2084.         AutoSave = '10'
  2085.         AutoSaveRun = "1"
  2086.         LinearWarning = "1"
  2087.         //BezierCenterX = '-32'
  2088.         //BezierCenterY = '-32'
  2089.         Form = "MapBuilding"
  2090.       }
  2091.       Layouts:config =
  2092.       {
  2093.         _layout = "Classic"
  2094.       }
  2095.       Display:config =
  2096.       {
  2097.         NormalVector = '40'
  2098.         GridStep = '32'
  2099.         GridMinStep = '5'
  2100.         MapLimit = '4096 4096 4096'
  2101.         GridHighlight = "8"
  2102.         GridHFactor = '2'
  2103.         // Rotate3D = '80 2'     // 80 degrees per second during 2 seconds
  2104.         FreeZoom = '1'
  2105.         ViewMode = $01      // gray out of view by default
  2106.         ArrowSize = '40 27'
  2107.         Form = "MapDisplay"
  2108.       }
  2109.       Colors:config =
  2110.       {
  2111.         InvertedColors = ""
  2112.         ViewXZ     = $E8E8B8
  2113.         ViewXY     = $E8DCB8
  2114.         SelXZ      = $0080C0
  2115.         SelXY      = $0090C0
  2116.         Gray       = $BABABA
  2117.         Axis       = $A6CAF0
  2118.         GridXZ     = $008000
  2119.         GridXY     = $808000
  2120.         GridLines  = $D0D0FF
  2121.         BrEnt      = $800000
  2122.         Duplicator = $0000FF
  2123.         Tag        = $FF0000
  2124.         GrayImage  = $FF0000
  2125.         BSP        = $008080
  2126.         Digger     = $FF00FF
  2127.         Linear     = $FF0080
  2128.         Bezier     = $008080
  2129.         Form = "MapColors"
  2130.       }
  2131.     }
  2132.     Model:config =
  2133.     {
  2134.       Mouse:config =
  2135.       {
  2136.         Left        = "S"
  2137.         LeftShift   = ""
  2138.         LeftCtrl    = "ST"
  2139.         Right       = "SM"
  2140.         RightShift  = "M"
  2141.         RightCtrl   = "STM"
  2142.         Middle      = "+"
  2143.         MiddleShift = ""
  2144.         MiddleCtrl  = "-"
  2145.         LeftDrag        = "RS"
  2146.         LeftDragShift   = "C"
  2147.         LeftDragCtrl    = "RST"
  2148.         RightDrag       = "S"
  2149.         RightDragShift  = "Z"
  2150.         RightDragCtrl   = "R+"
  2151.         MiddleDrag      = "Z"
  2152.         MiddleDragShift = "R-"
  2153.         MiddleDragCtrl  = "R+"
  2154.         Form = "MapMouse"
  2155.       }
  2156.       Options:config =
  2157.       {
  2158.         DrawAxis           = "1"
  2159.         DrawMapLimit       = "1"
  2160.         SolidGrid          = ""
  2161.         GridVisible        = "1"
  2162.         GridActive         = "1"
  2163.         GridVisibleTex     = ""
  2164.         CompassNumbers     = "1"
  2165.         NoScrollBars       = "1"
  2166.         CrossCursor        = ""
  2167.         HideMouseDrag      = ""
  2168.         AutoAdjustNormal   = ""
  2169.         PagesLocked        = ""
  2170.         HandleHints        = "1"
  2171.  
  2172.         LinearBox          = ""
  2173.         TreeKeybDelay      = ""
  2174.         Form = "MdlOptions"
  2175.       }
  2176.       Building:config =
  2177.       {
  2178.         WallWidth = '-8'
  2179.         mpOffset = '0 0 64'
  2180.         mpZoom = '2'
  2181.         mpRotate = '15'
  2182.         ForceAngleStep = '15'
  2183.         LinearWarning = "1"
  2184.         Form = "MdlBuilding"
  2185.       }
  2186.       Display:config =
  2187.       {
  2188.         NormalVector = '40'
  2189.         GridStep = '16'
  2190.         GridMinStep = '5'
  2191.         MapLimit = '512 512 512'
  2192.         GridHighlight = "8"
  2193.         GridHFactor = '2'
  2194.         FreeZoom = '1'
  2195.         ViewMode = $01      // gray out of view by default
  2196.         ArrowSize = '40 27'
  2197.         HandlesDelay = '0.5'
  2198.         Form = "MdlDisplay"
  2199.       }
  2200.       Colors:config =
  2201.       {
  2202.         InvertedColors = ""
  2203.         ViewXZ     = $E8E8B8
  2204.         ViewXY     = $E8DCB8
  2205.         SelXZ      = $0080C0
  2206.         SelXY      = $0090C0
  2207.         Gray       = $BABABA
  2208.         Axis       = $A6CAF0
  2209.         GridXZ     = $008000
  2210.         GridXY     = $808000
  2211.         GridLines  = $D0D0FF
  2212.         Tag        = $FF0000
  2213.         GrayImage  = $FF0000
  2214.         Linear     = $FF0080
  2215.         Vertices   = $FF0000
  2216.         Form = "MdlColors"
  2217.       }
  2218.       Layouts:config =
  2219.       {
  2220.         _layout = "Classic"
  2221.       }
  2222.     }
  2223.     Toolbars and Menus:config =
  2224.     {
  2225.       Texture Browser:config =
  2226.       {
  2227.         ImageListTextureDimension = "64"
  2228.         ImageListLoadNoOfTexAtEachCall = "3"
  2229.         Form = "Toolbars_TextureBrowser"
  2230.       }
  2231.     }
  2232.   }
  2233.   ConfigForms.qrk =
  2234.   {
  2235.     MapDisplay:form =          // ":form" objects are forms for editing object Specific/Args
  2236.     {                          // these ones are used in the Configuration dialog box
  2237.       NormalVector: =
  2238.       {
  2239.         Txt = "Length of the normal vector"
  2240.         Typ = "EF1"    // Edit Float, 1 value
  2241.         Min = '1'
  2242.       }
  2243.       GridStep: =
  2244.       {
  2245.         Txt = "Grid step"
  2246.         Typ = "EF1"    // Edit Float, 1 value
  2247.         Min = '0'
  2248.       }
  2249.       GridMinStep: =
  2250.       {
  2251.         Txt = "Hide grid dots if denser than"
  2252.         Typ = "EF1"    // Edit Float, 1 value
  2253.         Min = '0'
  2254.       }
  2255.       GridHighlight: =
  2256.       {
  2257.         Txt = "Highlight every ...th grid line"
  2258.         Typ = "E"
  2259.         Hint = "Highlight grid dots or lines periodically (no value disables this feature)"
  2260.       }
  2261.       GridHFactor: =
  2262.       {
  2263.         Txt = "Highlight them by a factor of"
  2264.         Typ = "EF1"
  2265.         Min = '0'
  2266.         Max = '10'
  2267.         Hint = "How much highlighted are the highlighted dots or lines ? (more or less than 1 to mean more or less visible than others)"
  2268.       }
  2269.       FreeZoom: =
  2270.       {
  2271.         Txt = "'Mouse Free Zoom' sensitivity"
  2272.         Typ = "EF1"
  2273.         Hint = "By default, Mouse Free Zoom is Shift-Middle-mouse-button"$0D"Enter a negative value to reverse 'In' and 'Out' directions"
  2274.       }
  2275.     }
  2276.     MdlDisplay:form =
  2277.     {
  2278.       GridStep: =
  2279.       {
  2280.         Txt = "Grid step"
  2281.         Typ = "EF1"    // Edit Float, 1 value
  2282.         Min = '0'
  2283.       }
  2284.       GridMinStep: =
  2285.       {
  2286.         Txt = "Hide grid dots if denser than"
  2287.         Typ = "EF1"    // Edit Float, 1 value
  2288.         Min = '0'
  2289.       }
  2290.       GridHighlight: =
  2291.       {
  2292.         Txt = "Highlight every ...th grid line"
  2293.         Typ = "E"
  2294.         Hint = "Highlight grid dots or lines periodically (no value disables this feature)"
  2295.       }
  2296.       GridHFactor: =
  2297.       {
  2298.         Txt = "Highlight them by a factor of"
  2299.         Typ = "EF1"
  2300.         Min = '0'
  2301.         Max = '10'
  2302.         Hint = "How much highlighted are the highlighted dots or lines ? (more or less than 1 to mean more or less visible than others)"
  2303.       }
  2304.       FreeZoom: =
  2305.       {
  2306.         Txt = "'Mouse Free Zoom' sensitivity"
  2307.         Typ = "EF1"
  2308.         Hint = "By default, Mouse Free Zoom is Shift-Middle-mouse-button"$0D"Enter a negative value to reverse 'In' and 'Out' directions"
  2309.       }
  2310.       sep: = {Typ="S" Txt = ""}
  2311.       HandlesDelay: =
  2312.       {
  2313.         Txt = "Delay to display handles"
  2314.         Typ = "EF1"
  2315.         Hint = "If non-zero, some handles are not displayed immediately but after this delay (seconds)"
  2316.       }
  2317.     }
  2318.  
  2319.     t_ProgramHint:incl = {
  2320.       Hint="Specify the game's executable (.EXE) and additional command-line arguments."
  2321.         $0D
  2322.         $0D"QuArK will automatically append arguments to start the .BSP-file in the game,"
  2323.         $0D"and arguments to tell the game to use a different startup base-directory."
  2324.     }
  2325.     t_GameBuildPgm:incl = {
  2326.       DefExt="exe"
  2327.       Typ="EP"
  2328.       Txt="...program-executable (path optional)"
  2329.       Hint="Specify the build-tool executable (.EXE) for this step."
  2330.         $0D
  2331.         $0D"The absolute-path is optional, and if not given, you must"
  2332.         $0D"specify it in the 'Default directory of build-programs'."
  2333.     }
  2334.     t_GameBuildArgs:incl = {
  2335.       Typ="E"
  2336.       Txt="...fixed command-line arguments"
  2337.       Hint="Specify the additional command-line arguments for the build-tool."
  2338.         $0D
  2339.         $0D"You can use the following user-variables, which automatically will"
  2340.         $0D"be replaced at run-time. If at least one of these are used, QuArK"
  2341.         $0D"will _not_ append a '<path>/<mapfile>' to the command-line arg.,"
  2342.         $0D"so you better remember to do this yourself."
  2343.         $0D
  2344.         $0D"%file%     - Gives the map's path and filename without extension"
  2345.         $0D"%mappath%  - Gives the map's path with ending backslash"
  2346.         $0D"%mapfile%  - Gives the map's path and filename with .MAP extension"
  2347.         $0D"%basepath% - Gives the directory of the game (see Game Settings above)"
  2348.         $0D
  2349.         $0D"Examples:"
  2350.         $0D"  BSPC.EXE -bps2aas %file%.BSP -output %mappath%"
  2351.         $0D"  VIS.EXE -fast %file%"
  2352.         $0D"  QRAD3.EXE -threads 4 %file%"
  2353.       // These 'user-variables' are replaced in MapQuakeMenu.PY
  2354.     }
  2355.     t_GameBuildCheck:incl = {
  2356.       Typ="C"
  2357.       Txt="...at program end, check these file-extensions:"
  2358.       Items= ""
  2359.           $0D"+BSP"
  2360.           $0D"+BSP,+PRT"
  2361.           $0D"+BSP,-LIN{LoadLinFile}"
  2362.           $0D"+AAS"
  2363.       Hint="Here you list which file-extensions that should exist or not exist,"
  2364.         $0D"after the build-program have ended."
  2365.         $0D
  2366.         $0D"Example; to make sure that a .BSP file have been created, and"
  2367.         $0D"_no_ .LIN file exists, this field should contain:     +BSP,-LIN"
  2368.         $0D
  2369.         $0D"A prefixed '+' means 'must exist'"
  2370.         $0D"A prefixed '-' means 'must not exist'"
  2371.     }
  2372.     t_GameBuildPgms:incl = {
  2373.       Console:    = {Typ="X" Txt="Run these build-programs..." Cap="in QuArK's console"}
  2374.       BuildPgmsDir:={Typ="ED" Txt="Default directory of build-programs" Hint="This directory is searched to find a build-program,"$0D"if the build-program does not have an absolute path specified."}
  2375.       StupidBuildToolKludge:={Typ="X" Txt="Run tools from base directory" Hint="When this is checked, the tools are run in the base directory,"$0D" on maps in tmpquark"}
  2376.       OutputMapFormat: = {
  2377.         Txt = "Output Map Format"
  2378.         Typ = "C"
  2379.         Items = "Classic Quake"
  2380.                $0D "Quark etp"
  2381.                $0D "Valve 220"
  2382.                $0D "Brush Primitives"
  2383.         Hint="These are set for the game's reccommended build tools.  If you don't have these," $0D " Classic Quake1/2/3 will function at a minimal level"
  2384.       }
  2385. //      Typ="X" Txt="Tools support brush primitives" Hint="When this is checked, if use brush primitives map option is also checked,"$0D" maps will be written in brush primitives format"}
  2386.       sep:        = {Typ="S" Txt="1st program"}
  2387.       BuildPgm1:  = {t_GameBuildPgm=!}
  2388.       BuildArgs1: = {t_GameBuildArgs=!}
  2389.       BuildCheck1:= {t_GameBuildCheck=!}
  2390.       sep:        = {Typ="S" Txt="2nd program"}
  2391.       BuildPgm2:  = {t_GameBuildPgm=!}
  2392.       BuildArgs2: = {t_GameBuildArgs=!}
  2393.       BuildCheck2:= {t_GameBuildCheck=!}
  2394.       sep:        = {Typ="S" Txt="3rd program"}
  2395.       BuildPgm3:  = {t_GameBuildPgm=!}
  2396.       BuildArgs3: = {t_GameBuildArgs=!}
  2397.       BuildCheck3:= {t_GameBuildCheck=!}
  2398.       sep:        = {Typ="S" Txt="4th program"}
  2399.       BuildPgm4:  = {t_GameBuildPgm=!}
  2400.       BuildArgs4: = {t_GameBuildArgs=!}
  2401.       BuildCheck4:= {t_GameBuildCheck=!}
  2402.       sep:        = {Typ="S" Txt="5th program"}
  2403.       BuildPgm5:  = {t_GameBuildPgm=!}
  2404.       BuildArgs5: = {t_GameBuildArgs=!}
  2405.       BuildCheck5:= {t_GameBuildCheck=!}
  2406.       sep:        = {Typ="S" Txt="6th program"}
  2407.       BuildPgm6:  = {t_GameBuildPgm=!}
  2408.       BuildArgs6: = {t_GameBuildArgs=!}
  2409.       BuildCheck6:= {t_GameBuildCheck=!}
  2410.       sep:        = {Typ="S" Txt="7th program"}
  2411.       BuildPgm7:  = {t_GameBuildPgm=!}
  2412.       BuildArgs7: = {t_GameBuildArgs=!}
  2413.       BuildCheck7:= {t_GameBuildCheck=!}
  2414.       sep:        = {Typ="S" Txt="8th program"}
  2415.       BuildPgm8:  = {t_GameBuildPgm=!}
  2416.       BuildArgs8: = {t_GameBuildArgs=!}
  2417.       BuildCheck8:= {t_GameBuildCheck=!}
  2418.       sep:        = {Typ="S" Txt="9th program"}
  2419.       BuildPgm9:  = {t_GameBuildPgm=!}
  2420.       BuildArgs9: = {t_GameBuildArgs=!}
  2421.       BuildCheck9:= {t_GameBuildCheck=!}
  2422.       sep:        = {Typ="S" Txt = ""}
  2423.       MapCommentsPrefix: = {
  2424.         Typ="E"
  2425.         Txt=".MAP comments prefix"
  2426.         Hint="Specify the character(s) that instruct the build-tools,"
  2427.           $0D"which lines in the .MAP file, are end-of-line comments,"
  2428.           $0D"and will be ignored."
  2429.       }
  2430.     }
  2431.     t_DefaultTexture:incl = {
  2432.       Txt = "Default texture"
  2433.       Typ = "ET"      // Edit Texture
  2434.       Hint = "Default texture when inserting polyhedrons in maps."
  2435.           $0D"An '[auto]' texture."
  2436.     }
  2437.     t_DefaultTextureTrigger:incl = {
  2438.       Txt = "Default trigger texture"
  2439.       Typ = "ET"      // Edit Texture
  2440.       Hint = "Default trigger texture when new brush-entities request it."
  2441.           $0D"An '[trigger]' texture."
  2442.     }
  2443.     t_DefaultTextureClip:incl = {
  2444.       Txt = "Default clip texture"
  2445.       Typ = "ET"      // Edit Texture
  2446.       Hint = "Default clip texture when new brush-entities request it."
  2447.           $0D"An '[clip]' texture."
  2448.     }
  2449.     t_DefaultTextureOrigin:incl = {
  2450.       Txt = "Default origin texture"
  2451.       Typ = "ET"      // Edit Texture
  2452.       Hint = "Default origin texture when new brush-entities request it."
  2453.           $0D"An '[origin]' texture."
  2454.     }
  2455.     t_DefaultTextureCaulk:incl = {
  2456.       Txt = "Default caulk texture"
  2457.       Typ = "ET"      // Edit Texture
  2458.       Hint = "Default caulk texture when new brush-entities request it."
  2459.           $0D"An '[caulk]' texture."
  2460.     }
  2461.  
  2462.     GameQuake1:form =
  2463.     {
  2464.       Style = "3"
  2465.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2466.       Program: = {
  2467.         Typ = "C"     // combo box
  2468.         Txt = "Quake command-line"
  2469.         Items = "Quake.EXE"
  2470.              $0D"Quake.EXE -listen 4"
  2471.              $0D"GLQuake.EXE"
  2472.              $0D"GLQuake.EXE -listen 4"
  2473.              $0D"WinQuake.EXE"
  2474.              $0D"WinQuake.EXE -listen 4"
  2475.              $0D"WinDed.EXE"
  2476.         t_ProgramHint=!
  2477.       }
  2478.       Directory: =
  2479.       {
  2480.         Txt = "Directory of Quake 1"
  2481.         Typ = "ED"      // Edit Directory
  2482.         Hint = "Path to the game executable"
  2483.         CheckFile = "QUAKE.EXE"
  2484.       }
  2485.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  2486.       {
  2487.         Typ = "+"
  2488.         Txt = "Installed Add-ons"
  2489.         Cap = "Add-ons..."
  2490.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  2491.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  2492.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  2493.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  2494.         cmd:macro = {Typ="M" Msg="GAM1"}    // switches to Quake 1
  2495.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  2496.       }
  2497.       Outp:tbbtn =
  2498.       {
  2499.         Typ = "+"
  2500.         Txt = "Paths and files to create"
  2501.         Cap = "Output directories..."
  2502.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  2503.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  2504.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  2505.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  2506.         cmd:macro = {Typ="M" Msg="GAM1"}    // switches to Quake 1
  2507.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  2508.       }
  2509.       sep: = {Typ="S" Txt = ""}
  2510.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2511.       DefaultTexture: =
  2512.       {
  2513.         t_DefaultTexture = !
  2514.         GameCfg = "Quake 1"
  2515.       }
  2516.       DefaultTextureTrigger: =
  2517.       {
  2518.         t_DefaultTextureTrigger = !
  2519.         GameCfg = "Quake 1"
  2520.       }
  2521.       DefaultTextureClip: =
  2522.       {
  2523.         t_DefaultTextureClip = !
  2524.         GameCfg = "Quake 1"
  2525.       }
  2526.       3DLight: =
  2527.       {
  2528.         Txt = "Game Light saturation"
  2529.         Typ = "EF1"
  2530.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  2531.       }
  2532.       sep:        = {Typ="S" Txt = ""}
  2533.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  2534.       t_GameBuildPgms=!
  2535.     }
  2536.     GameHexenII:form =
  2537.     {
  2538.       Style = "3"
  2539.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2540.       Program: = {
  2541.         Typ = "C"     // combo box
  2542.         Txt = "Hexen II command-line"
  2543.         Items = "H2.EXE"
  2544.              $0D"H2.EXE -listen 8"
  2545.              $0D"GLH2.EXE"
  2546.              $0D"GLH2.EXE -listen 8"
  2547.         t_ProgramHint=!
  2548.       }
  2549.       Directory: =
  2550.       {
  2551.         Txt = "Directory of Hexen II"
  2552.         Typ = "ED"      // Edit Directory
  2553.         Hint = "Path to the game executable"
  2554.         CheckFile = "H2.EXE"
  2555.       }
  2556.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  2557.       {
  2558.         Typ = "+"
  2559.         Txt = "Installed Add-ons"
  2560.         Cap = "Add-ons..."
  2561.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  2562.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  2563.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  2564.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  2565.         cmd:macro = {Typ="M" Msg="GAM2"}    // switches to Hexen II
  2566.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  2567.       }
  2568.       Outp:tbbtn =
  2569.       {
  2570.         Typ = "+"
  2571.         Txt = "Paths and files to create"
  2572.         Cap = "Output directories..."
  2573.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  2574.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  2575.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  2576.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  2577.         cmd:macro = {Typ="M" Msg="GAM2"}    // switches to Hexen II
  2578.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  2579.       }
  2580.       PlayerClass: = {
  2581.         Typ = "CL"
  2582.         Txt = "Player class"
  2583.         Values = "1"$0D"2"$0D"3"$0D"4"
  2584.         Items = "Paladin"
  2585.              $0D "Crusader"
  2586.              $0D "Necromancer"
  2587.              $0D "Assassin"
  2588.       }
  2589.       sep: = {Typ="S" Txt = ""}
  2590.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2591.       DefaultTexture: =
  2592.       {
  2593.         t_DefaultTexture = !
  2594.         GameCfg = "Hexen II"
  2595.       }
  2596.       DefaultTextureTrigger: =
  2597.       {
  2598.         t_DefaultTextureTrigger = !
  2599.         GameCfg = "Hexen II"
  2600.       }
  2601.       DefaultTextureClip: =
  2602.       {
  2603.         t_DefaultTextureClip = !
  2604.         GameCfg = "Hexen II"
  2605.       }
  2606.       3DLight: =
  2607.       {
  2608.         Txt = "Game Light saturation"
  2609.         Typ = "EF1"
  2610.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  2611.       }
  2612.       sep:        = {Typ="S" Txt = ""}
  2613.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  2614.       t_GameBuildPgms=!
  2615.     }
  2616.     GameQuake2:form =
  2617.     {
  2618.       Style = "3"
  2619.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2620.       Program: = {
  2621.         Typ = "C"     // combo box
  2622.         Txt = "Quake 2 command-line"
  2623.         Items = "Quake2.EXE"
  2624.         t_ProgramHint=!
  2625.       }
  2626.       Directory: =
  2627.       {
  2628.         Txt = "Directory of Quake 2"
  2629.         Typ = "ED"      // Edit Directory
  2630.         Hint = "Path to the game executable"
  2631.         CheckFile = "QUAKE2.EXE"
  2632.       }
  2633.       CD: =
  2634.       {
  2635.         Txt = "Quake 2 CD-ROM drive"
  2636.         Typ = "ED"      // Edit Directory
  2637.         Hint = "If you installed Quake 2 minimally, this is the drive of the CD-ROM."
  2638.         CheckFile = "INSTALL\DATA\BASEQ2\PAK0.PAK"
  2639.       }
  2640.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  2641.       {
  2642.         Typ = "+"
  2643.         Txt = "Installed Add-ons"
  2644.         Cap = "Add-ons..."
  2645.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  2646.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  2647.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  2648.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  2649.         cmd:macro = {Typ="M" Msg="GAMA"}    // switches to Quake 2
  2650.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  2651.       }
  2652.       Outp:tbbtn =
  2653.       {
  2654.         Typ = "+"
  2655.         Txt = "Paths and files to create"
  2656.         Cap = "Output directories..."
  2657.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  2658.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  2659.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  2660.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  2661.         cmd:macro = {Typ="M" Msg="GAMA"}    // switches to Quake 2
  2662.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  2663.       }
  2664.       sep: = {Typ="S" Txt = ""}
  2665.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2666.       DefaultTexture: =
  2667.       {
  2668.         t_DefaultTexture = !
  2669.         GameCfg = "Quake 2"
  2670.       }
  2671.       DefaultTextureTrigger: =
  2672.       {
  2673.         t_DefaultTextureTrigger = !
  2674.         GameCfg = "Quake 2"
  2675.       }
  2676.       DefaultTextureClip: =
  2677.       {
  2678.         t_DefaultTextureClip = !
  2679.         GameCfg = "Quake 2"
  2680.       }
  2681.       DefaultTextureOrigin: =
  2682.       {
  2683.         t_DefaultTextureOrigin = !
  2684.         GameCfg = "Quake 2"
  2685.       }
  2686.       3DLight: =
  2687.       {
  2688.         Txt = "Game Light saturation"
  2689.         Typ = "EF1"
  2690.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  2691.       }
  2692.       sep:        = {Typ="S" Txt = ""}
  2693.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  2694.       t_GameBuildPgms=!
  2695.     }
  2696.     GameHeretic2:form =
  2697.     {
  2698.       Style = "3"
  2699.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2700.       Program: = {
  2701.         Typ = "C"     // combo box
  2702.         Txt = "Heretic II command-line"
  2703.         Items = "Heretic2.EXE"
  2704.         t_ProgramHint=!
  2705.       }
  2706.       Directory: =
  2707.       {
  2708.         Txt = "Directory of Heretic II"
  2709.         Typ = "ED"      // Edit Directory
  2710.         Hint = "Path to the game executable"
  2711.         CheckFile = "HERETIC2.EXE"
  2712.       }
  2713.       CD: =
  2714.       {
  2715.         Txt = "Heretic II CD-ROM drive"
  2716.         Typ = "ED"      // Edit Directory
  2717.         Hint = "If you installed Heretic II minimally, this is the drive of the CD-ROM."
  2718.         CheckFile = "INSTALL\DATA\BASE\PAK0.PAK"
  2719.       }
  2720.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  2721.       {
  2722.         Typ = "+"
  2723.         Txt = "Installed Add-ons"
  2724.         Cap = "Add-ons..."
  2725.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  2726.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  2727.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  2728.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  2729.         cmd:macro = {Typ="M" Msg="GAMB"}    // switches to Hr2
  2730.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  2731.       }
  2732.       Outp:tbbtn =
  2733.       {
  2734.         Typ = "+"
  2735.         Txt = "Paths and files to create"
  2736.         Cap = "Output directories..."
  2737.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  2738.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  2739.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  2740.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  2741.         cmd:macro = {Typ="M" Msg="GAMB"}    // switches to Hr2
  2742.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  2743.       }
  2744.       sep: = {Typ="S" Txt = ""}
  2745.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2746.       DefaultTexture: =
  2747.       {
  2748.         t_DefaultTexture = !
  2749.         GameCfg = "Heretic II"
  2750.       }
  2751.       DefaultTextureTrigger: =
  2752.       {
  2753.         t_DefaultTextureTrigger = !
  2754.         GameCfg = "Heretic II"
  2755.       }
  2756.       DefaultTextureClip: =
  2757.       {
  2758.         t_DefaultTextureClip = !
  2759.         GameCfg = "Heretic II"
  2760.       }
  2761.       3DLight: =
  2762.       {
  2763.         Txt = "Game Light saturation"
  2764.         Typ = "EF1"
  2765.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  2766.       }
  2767.       sep:        = {Typ="S" Txt = ""}
  2768.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  2769.       t_GameBuildPgms=!
  2770.     }
  2771.     GameHalfLife:form =
  2772.     {
  2773.       Style = "3"
  2774.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2775.       Program: = {
  2776.         Typ = "C"     // combo box
  2777.         Txt = "Half-Life command-line"
  2778.         Items = "HL.EXE"
  2779.              $0D"HL.EXE -console -dev -zone 1024 +set sv_cheats 1"
  2780.         t_ProgramHint=!
  2781.       }
  2782.       Directory: =
  2783.       {
  2784.         Txt = "Directory of Half-Life"
  2785.         Typ = "ED"      // Edit Directory
  2786.         Hint = "Path to the game executable"
  2787.         CheckFile = "HL.EXE"
  2788.       }
  2789.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  2790.       {
  2791.         Typ = "+"
  2792.         Txt = "Installed Add-ons"
  2793.         Cap = "Add-ons..."
  2794.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  2795.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  2796.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  2797.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  2798.         cmd:macro = {Typ="M" Msg="GAM3"}    // switches to Half-Life
  2799.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  2800.       }
  2801.       Outp:tbbtn =
  2802.       {
  2803.         Typ = "+"
  2804.         Txt = "Paths and files to create"
  2805.         Cap = "Output directories..."
  2806.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  2807.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  2808.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  2809.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  2810.         cmd:macro = {Typ="M" Msg="GAM3"}    // switches to Half-Life
  2811.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  2812.       }
  2813.       sep: = {Typ="S" Txt = ""}
  2814.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2815.       DefaultTexture: =
  2816.       {
  2817.         t_DefaultTexture = !
  2818.         GameCfg = "Half-Life"
  2819.       }
  2820.       DefaultTextureTrigger: =
  2821.       {
  2822.         t_DefaultTextureTrigger = !
  2823.         GameCfg = "Half-Life"
  2824.       }
  2825.       DefaultTextureClip: =
  2826.       {
  2827.         t_DefaultTextureClip = !
  2828.         GameCfg = "Half-Life"
  2829.       }
  2830.       DefaultTextureOrigin: =
  2831.       {
  2832.         t_DefaultTextureOrigin = !
  2833.         GameCfg = "Half-Life"
  2834.       }
  2835.       3DLight: =
  2836.       {
  2837.         Txt = "Game Light saturation"
  2838.         Typ = "EF1"
  2839.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  2840.       }
  2841.       EnableTransparency: =
  2842.       {
  2843.         Txt = "In OpenGL window, enable transparency (slow!)"
  2844.         Typ = "X"
  2845.         Hint = "When checked, brush-entities that has their"
  2846.             $0D"'rendermode' and 'renderamt' set to transparency,"
  2847.             $0D"will be drawn transparent in the OpenGL window - "
  2848.             $0D"though NOT exactly drawn as in-game."
  2849.             $0D
  2850.             $0D"Notice! When enabled the OpenGL window may"
  2851.             $0D"be very slow to update itself, when changing"
  2852.             $0D"the scenery."
  2853.       }
  2854.       sep:        = {Typ="S" Txt = ""}
  2855.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  2856.       t_GameBuildPgms=!
  2857.     }
  2858.     GameSin:form =
  2859.     {
  2860.       Style = "3"
  2861.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2862.       Program: = {
  2863.         Typ = "C"     // combo box
  2864.         Txt = "Sin command-line"
  2865.         Items = "Sin.EXE"
  2866.         t_ProgramHint=!
  2867.       }
  2868.       Directory: =
  2869.       {
  2870.         Txt = "Directory of Sin"
  2871.         Typ = "ED"      // Edit Directory
  2872.         Hint = "Path to the game executable"
  2873.         CheckFile = "SIN.EXE"
  2874.       }
  2875.       CD: =
  2876.       {
  2877.         Txt = "Sin CD-ROM drive"
  2878.         Typ = "ED"      // Edit Directory
  2879.         Hint = "If you installed Sin minimally, this is the drive of the CD-ROM."
  2880.         CheckFile = "SETUP\DATA\BASE\PAK0.SIN"
  2881.       }
  2882.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  2883.       {
  2884.         Typ = "+"
  2885.         Txt = "Installed Add-ons"
  2886.         Cap = "Add-ons..."
  2887.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  2888.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  2889.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  2890.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  2891.         cmd:macro = {Typ="M" Msg="GAMC"}    // switches to Sin
  2892.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  2893.       }
  2894.       Outp:tbbtn =
  2895.       {
  2896.         Typ = "+"
  2897.         Txt = "Paths and files to create"
  2898.         Cap = "Output directories..."
  2899.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  2900.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  2901.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  2902.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  2903.         cmd:macro = {Typ="M" Msg="GAMC"}    // switches to Sin
  2904.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  2905.       }
  2906.       sep: = {Typ="S" Txt = ""}
  2907.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2908.       DefaultTexture: =
  2909.       {
  2910.         t_DefaultTexture = !
  2911.         GameCfg = "Sin"
  2912.       }
  2913.       DefaultTextureTrigger: =
  2914.       {
  2915.         t_DefaultTextureTrigger = !
  2916.         GameCfg = "Sin"
  2917.       }
  2918.       DefaultTextureClip: =
  2919.       {
  2920.         t_DefaultTextureClip = !
  2921.         GameCfg = "Sin"
  2922.       }
  2923.       3DLight: =
  2924.       {
  2925.         Txt = "Game Light saturation"
  2926.         Typ = "EF1"
  2927.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  2928.       }
  2929.       sep:        = {Typ="S" Txt = ""}
  2930.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  2931.       t_GameBuildPgms=!
  2932.     }
  2933.     GameKingPin:form =
  2934.     {
  2935.       Style = "3"
  2936.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  2937.       Program: =
  2938.       {
  2939.         Typ = "C"
  2940.         Txt = "KingPin command-line"
  2941.         Items = "KingPin.EXE"
  2942.              $0D"KingPin.EXE +set developer 1"
  2943.         t_ProgramHint=!
  2944.       }
  2945.       Directory: =
  2946.       {
  2947.         Txt = "Directory of KingPin"
  2948.         Typ = "ED"
  2949.         Hint = "Path to the game executable"
  2950.         CheckFile = "kingpin.EXE"
  2951.       }
  2952.       AddOns:tbbtn =
  2953.       {
  2954.         Typ = "+"
  2955.         Txt = "Installed Add-ons"
  2956.         Cap = "Add-ons..."
  2957.         Icon = $666008881111111866604441999799916660CCC11011111166602444045555
  2958.          $4866602C2AA478887866602C4A24787F78666022AC48778878666022CC4788887866
  2959.          $6000407787877866608777777777784448444844487F785C77CF77CC4877785CC7C7
  2960.          $77CC488880055555555548870666608888888800666666666666666666
  2961.         cmd:macro = { Typ = "M" Msg = "GAMD" } // switches to KingPin (cmd=GAM, game=D)
  2962.         cmd:macro = { Typ = "M" Msg = "ADDO" }
  2963.       }
  2964.       Outp:tbbtn =
  2965.       {
  2966.         Typ = "+"
  2967.         Txt = "Paths and files to create"
  2968.         Cap = "Output directories..."
  2969.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0FA
  2970.          $0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AAA220FBB003
  2971.          $22022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A0022002A200666002A
  2972.          $AAA20006666666002A200666666666660006666666
  2973.         cmd:macro = { Typ = "M" Msg = "GAMD" } // switches to KingPin (cmd=GAM, game=D)
  2974.         cmd:macro = { Typ = "M" Msg = "OUTP" }
  2975.       }
  2976.       sep: = {Typ="S" Txt = ""}
  2977.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  2978.       DefaultTexture: =
  2979.       {
  2980.         t_DefaultTexture = !
  2981.         GameCfg = "KingPin"
  2982.       }
  2983.       DefaultTextureTrigger: =
  2984.       {
  2985.         t_DefaultTextureTrigger = !
  2986.         GameCfg = "KingPin"
  2987.       }
  2988.       DefaultTextureClip: =
  2989.       {
  2990.         t_DefaultTextureClip = !
  2991.         GameCfg = "KingPin"
  2992.       }
  2993.       DefaultTextureOrigin: =
  2994.       {
  2995.         t_DefaultTextureOrigin = !
  2996.         GameCfg = "KingPin"
  2997.       }
  2998.       3DLight: =
  2999.       {
  3000.         Txt = "Game Light saturation"
  3001.         Typ = "EF1"
  3002.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3003.       }
  3004.       sep:        = {Typ="S" Txt = ""}
  3005.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3006.       walTrick: = {
  3007.         Typ = "X"
  3008.         Txt = "This version of qbsp3 wants"
  3009.         Cap = ".WAL texture files"
  3010.         Hint = "check this to have QuArK write both .WAL and .TGA textures (kpBSP can't read .TGA textures)"
  3011.       }
  3012.       t_GameBuildPgms=!
  3013.     }
  3014.     GameSOF:form =
  3015.     {
  3016.       Style = "3"
  3017.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3018.       Program: =
  3019.       {
  3020.         Typ = "C"
  3021.         Txt = "SOF command-line"
  3022.         Items = "SOF.EXE"
  3023.              $0D"SOF.EXE +set console 1"
  3024.         t_ProgramHint=!
  3025.       }
  3026.       Directory: =
  3027.       {
  3028.         Txt = "Directory of SOF"
  3029.         Typ = "ED"
  3030.         Hint = "Path to the game executable"
  3031.         CheckFile = "sof.EXE"
  3032.       }
  3033.       AddOns:tbbtn =
  3034.       {
  3035.         Typ = "+"
  3036.         Txt = "Installed Add-ons"
  3037.         Cap = "Add-ons..."
  3038.         Icon = $666008881111111866604441999799916660CCC11011111166602444045555
  3039.          $4866602C2AA478887866602C4A24787F78666022AC48778878666022CC4788887866
  3040.          $6000407787877866608777777777784448444844487F785C77CF77CC4877785CC7C7
  3041.          $77CC488880055555555548870666608888888800666666666666666666
  3042.         cmd:macro = { Typ = "M" Msg = "GAME" } // switches to SOF  (cmd=GAM, game=E)
  3043.         cmd:macro = { Typ = "M" Msg = "ADDO" }
  3044.       }
  3045.       Outp:tbbtn =
  3046.       {
  3047.         Typ = "+"
  3048.         Txt = "Paths and files to create"
  3049.         Cap = "Output directories..."
  3050.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0FA
  3051.          $0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AAA220FBB003
  3052.          $22022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A0022002A200666002A
  3053.          $AAA20006666666002A200666666666660006666666
  3054.         cmd:macro = { Typ = "M" Msg = "GAME" } // switches to SOF (cmd=GAM, game=E)
  3055.         cmd:macro = { Typ = "M" Msg = "OUTP" }
  3056.       }
  3057.       sep: = {Typ="S" Txt = ""}
  3058.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3059.       DefaultTexture: =
  3060.       {
  3061.         t_DefaultTexture = !
  3062.         GameCfg = "SOF"
  3063.       }
  3064.       DefaultTextureTrigger: =
  3065.       {
  3066.         t_DefaultTextureTrigger = !
  3067.         GameCfg = "SOF"
  3068.       }
  3069.       DefaultTextureClip: =
  3070.       {
  3071.         t_DefaultTextureClip = !
  3072.         GameCfg = "SOF"
  3073.       }
  3074.       DefaultTextureOrigin: =
  3075.       {
  3076.         t_DefaultTextureOrigin = !
  3077.         GameCfg = "SOF"
  3078.       }
  3079.       3DLight: =
  3080.       {
  3081.         Txt = "Game Light saturation"
  3082.         Typ = "EF1"
  3083.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3084.       }
  3085.       sep:        = {Typ="S" Txt = ""}
  3086.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3087.       walTrick: = { //FIXME ! is this needed ?
  3088.         Typ = "X"
  3089.         Txt = "This version of qbsp wants"
  3090.         Cap = ".WAL texture files"
  3091.         Hint = "check this to have QuArK write both .WAL and .TGA textures (kpBSP can't read .TGA textures)"
  3092.       }
  3093.       t_GameBuildPgms=!
  3094.     }
  3095.     Game6DX:form =
  3096.     {
  3097.       Style = "3"
  3098.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3099.       Program: = {
  3100.         Typ = "C"     // combo box
  3101.         Txt = "6DX command-line"
  3102.         Items = ""
  3103.         t_ProgramHint=!
  3104.       }
  3105.       Directory: =
  3106.       {
  3107.         Txt = "Directory of 6DX"
  3108.         Typ = "ED"      // Edit Directory
  3109.         Hint = "Path to the game executable"
  3110.         CheckFile = ""
  3111.       }
  3112.     //CD: =
  3113.     //{
  3114.     //  Txt = "6DX CD-ROM drive"
  3115.     //  Typ = "ED"      // Edit Directory
  3116.     //  Hint = "If you installed 6DX minimally, this is the drive of the CD-ROM."
  3117.     //  CheckFile = "INSTALL\DATA\BASE\PAK0.PAK"
  3118.     //}
  3119.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3120.       {
  3121.         Typ = "+"
  3122.         Txt = "Installed Add-ons"
  3123.         Cap = "Add-ons..."
  3124.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3125.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3126.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3127.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3128.         cmd:macro = {Typ="M" Msg="GAMZ"}    // switches to 6DX
  3129.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3130.       }
  3131.       Outp:tbbtn =
  3132.       {
  3133.         Typ = "+"
  3134.         Txt = "Paths and files to create"
  3135.         Cap = "Output directories..."
  3136.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3137.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3138.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3139.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3140.         cmd:macro = {Typ="M" Msg="GAMZ"}    // switches to 6DX
  3141.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3142.       }
  3143.       sep: = {Typ="S" Txt = ""}
  3144.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3145.       DefaultTexture: =
  3146.       {
  3147.         t_DefaultTexture = !
  3148.         GameCfg = "6DX"
  3149.       }
  3150.       DefaultTextureTrigger: =
  3151.       {
  3152.         t_DefaultTextureTrigger = !
  3153.         GameCfg = "6DX"
  3154.       }
  3155.       DefaultTextureClip: =
  3156.       {
  3157.         t_DefaultTextureClip = !
  3158.         GameCfg = "6DX"
  3159.       }
  3160.       3DLight: =
  3161.       {
  3162.         Txt = "Game Light saturation"
  3163.         Typ = "EF1"
  3164.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3165.       }
  3166.     //sep:        = {Typ="S" Txt = ""}
  3167.     //sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3168.     //t_GameBuildPgms=!
  3169.       sep:        = {Typ="S" Txt = ""}
  3170.       MapCommentsPrefix: = {
  3171.         Typ="E"
  3172.         Txt=".MAP comments prefix"
  3173.         Hint="Specify the character(s) that instruct the build-tools,"
  3174.           $0D"which lines in the .MAP file, are end-of-line comments,"
  3175.           $0D"and will be ignored."
  3176.       }
  3177.     }
  3178.     GameQuake3:form =
  3179.     {
  3180.       Style = "3"
  3181.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3182.       Program: = {
  3183.         Typ = "C"     // combo box
  3184.         Txt = "Quake 3 command-line"
  3185.         Items = "Quake3.EXE +set sv_pure 0"
  3186.         t_ProgramHint=!
  3187.       }
  3188.       Directory: =
  3189.       {
  3190.         Txt = "Directory of Quake 3"
  3191.         Typ = "ED"      // Edit Directory
  3192.         Hint = "Path to the game executable"
  3193.         CheckFile = "QUAKE3.EXE"
  3194.       }
  3195.       CD: =
  3196.       {
  3197.         Txt = "Quake 3 CD-ROM drive"
  3198.         Typ = "ED"      // Edit Directory
  3199.         Hint = "If you installed Quake 3 minimally, this is the drive of the CD-ROM."
  3200.         CheckFile = "Quake3\BASEQ3\PAK0.PK3"
  3201.       }
  3202.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3203.       {
  3204.         Typ = "+"
  3205.         Txt = "Installed Add-ons"
  3206.         Cap = "Add-ons..."
  3207.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3208.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3209.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3210.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3211.         cmd:macro = {Typ="M" Msg="GAMa"}    // switches to Quake 3 (cmd=GAM, game=a)
  3212.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3213.       }
  3214.       Outp:tbbtn =
  3215.       {
  3216.         Typ = "+"
  3217.         Txt = "Paths and files to create"
  3218.         Cap = "Output directories..."
  3219.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3220.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3221.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3222.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3223.         cmd:macro = {Typ="M" Msg="GAMa"}    // switches to Quake 3 (cmd=GAM, game=a)
  3224.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3225.       }
  3226.       sep: = {Typ="S" Txt = ""}
  3227.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3228.       DefaultTexture: =
  3229.       {
  3230.         t_DefaultTexture = !
  3231.         GameCfg = "Quake 3"
  3232.       }
  3233.       DefaultTextureTrigger: =
  3234.       {
  3235.         t_DefaultTextureTrigger = !
  3236.         GameCfg = "Quake 3"
  3237.       }
  3238.       DefaultTextureClip: =
  3239.       {
  3240.         t_DefaultTextureClip = !
  3241.         GameCfg = "Quake 3"
  3242.       }
  3243.       DefaultTextureOrigin: =
  3244.       {
  3245.         t_DefaultTextureOrigin = !
  3246.         GameCfg = "Quake 3"
  3247.       }
  3248.       DefaultTextureCaulk: =
  3249.       {
  3250.         t_DefaultTextureCaulk = !
  3251.         GameCfg = "Quake 3"
  3252.       }
  3253.       3DLight: =
  3254.       {
  3255.         Txt = "Game Light saturation"
  3256.         Typ = "EF1"
  3257.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3258.       }
  3259.       sep:        = {Typ="S" Txt = ""}
  3260.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3261.       t_GameBuildPgms=!
  3262.     }
  3263.     GameSTVEF:form =
  3264.     {
  3265.       Style = "3"
  3266.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3267.       Program: = {
  3268.         Typ = "C"     // combo box
  3269.         Txt = "StarTrek Voyager Elite Force command-line"
  3270.         Items = "STVoy.EXE +set sv_pure 0"
  3271.              $0D"STVoyHM.EXE +set sv_pure 0"
  3272.         t_ProgramHint=!
  3273.       }
  3274.       Directory: =
  3275.       {
  3276.         Txt = "Directory of StarTrek Voyager Elite Force"
  3277.         Typ = "ED"      // Edit Directory
  3278.         Hint = "Path to the game executable"
  3279.         CheckFile = "STVOY.EXE"
  3280.       }
  3281.       CD: =
  3282.       {
  3283.         Txt = "StarTrek Voyager Elite Force CD-ROM drive"
  3284.         Typ = "ED"      // Edit Directory
  3285.         Hint = "If you installed StarTrek minimally, this is the drive of the CD-ROM."
  3286.         CheckFile = "SETUP\BASEEF\PAK0.PK3"
  3287.       }
  3288.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3289.       {
  3290.         Typ = "+"
  3291.         Txt = "Installed Add-ons"
  3292.         Cap = "Add-ons..."
  3293.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3294.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3295.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3296.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3297.         cmd:macro = {Typ="M" Msg="GAMb"}    // switches to StarTrek (cmd=GAM, game=b)
  3298.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3299.       }
  3300.       Outp:tbbtn =
  3301.       {
  3302.         Typ = "+"
  3303.         Txt = "Paths and files to create"
  3304.         Cap = "Output directories..."
  3305.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3306.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3307.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3308.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3309.         cmd:macro = {Typ="M" Msg="GAMb"}    // switches to StarTrek (cmd=GAM, game=b)
  3310.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3311.       }
  3312.       sep: = {Typ="S" Txt = ""}
  3313.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3314.       DefaultTexture: =
  3315.       {
  3316.         t_DefaultTexture = !
  3317.         GameCfg = "STVEF"
  3318.       }
  3319.       DefaultTextureTrigger: =
  3320.       {
  3321.         t_DefaultTextureTrigger = !
  3322.         GameCfg = "STVEF"
  3323.       }
  3324.       DefaultTextureClip: =
  3325.       {
  3326.         t_DefaultTextureClip = !
  3327.         GameCfg = "STVEF"
  3328.       }
  3329.       DefaultTextureOrigin: =
  3330.       {
  3331.         t_DefaultTextureOrigin = !
  3332.         GameCfg = "STVEF"
  3333.       }
  3334.       DefaultTextureCaulk: =
  3335.       {
  3336.         t_DefaultTextureCaulk = !
  3337.         GameCfg = "STVEF"
  3338.       }
  3339.       3DLight: =
  3340.       {
  3341.         Txt = "Game Light saturation"
  3342.         Typ = "EF1"
  3343.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3344.       }
  3345.       sep:        = {Typ="S" Txt = ""}
  3346.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3347.       t_GameBuildPgms=!
  3348.     }
  3349.     GameCrystalSpace:form =
  3350.     {
  3351.       Style = "3"
  3352.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3353.       Program: =
  3354.       {
  3355.         Typ = "C"
  3356.         Txt = "Crystal Space command-line"
  3357.         Items = "WalkTest.EXE"
  3358.         t_ProgramHint=!
  3359.       }
  3360.       Directory: =
  3361.       {
  3362.         Txt = "Directory of Crystal Space"
  3363.         Typ = "ED"
  3364.         Hint = "Path to the game executable"
  3365.         CheckFile = ""
  3366.       }
  3367.       AddOns:tbbtn =
  3368.       {
  3369.         Typ = "+"
  3370.         Txt = "Installed Add-ons"
  3371.         Cap = "Add-ons..."
  3372.         Icon = $666008881111111866604441999799916660CCC11011111166602444045555
  3373.          $4866602C2AA478887866602C4A24787F78666022AC48778878666022CC4788887866
  3374.          $6000407787877866608777777777784448444844487F785C77CF77CC4877785CC7C7
  3375.          $77CC488880055555555548870666608888888800666666666666666666
  3376.         cmd:macro = { Typ = "M" Msg = "GAMc" } // switches to Crystal Space (cmd=GAM, game=c)
  3377.         cmd:macro = { Typ = "M" Msg = "ADDO" } // opens Add-ons configuration dialog box
  3378.       }
  3379.       Outp:tbbtn =
  3380.       {
  3381.         Typ = "+"
  3382.         Txt = "Paths and files to create"
  3383.         Cap = "Output directories..."
  3384.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0FA
  3385.          $0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AAA220FBB003
  3386.          $22022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A0022002A200666002A
  3387.          $AAA20006666666002A200666666666660006666666
  3388.         cmd:macro = { Typ = "M" Msg = "GAMc" } // switches to Crystal Space (cmd=GAM, game=c)
  3389.         cmd:macro = { Typ = "M" Msg = "OUTP" } // opens "Output directories" dialog box
  3390.       }
  3391.       sep: = {Typ="S" Txt = ""}
  3392.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3393.       DefaultTexture: =
  3394.       {
  3395.         t_DefaultTexture = !
  3396.         GameCfg = "Crystal Space"
  3397.       }
  3398.       3DLight: =
  3399.       {
  3400.         Txt = "Game Light saturation"
  3401.         Typ = "EF1"
  3402.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3403.       }
  3404.       sep:        = {Typ="S" Txt = ""}
  3405.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3406.       t_GameBuildPgms=!
  3407.     }
  3408.     GameRTCW:form =
  3409.     {
  3410.       Style = "3"
  3411.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3412.       Program: = {
  3413.         Typ = "C"     // combo box
  3414.         Txt = "RTCW command-line"
  3415.         Items = "WOLFSP.EXE +set sv_pure 0"
  3416.         t_ProgramHint=!
  3417.       }
  3418.       Directory: =
  3419.       {
  3420.         Txt = "Directory of RTCW"
  3421.         Typ = "ED"      // Edit Directory
  3422.         Hint = "Path to the game executable"
  3423.         CheckFile = "WOLFSP.EXE"
  3424.       }
  3425.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3426.       {
  3427.         Typ = "+"
  3428.         Txt = "Installed Add-ons"
  3429.         Cap = "Add-ons..."
  3430.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3431.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3432.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3433.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3434.         cmd:macro = {Typ="M" Msg="GAMd"}    // switches to RTCW (cmd=GAM, game=d)
  3435.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3436.       }
  3437.       Outp:tbbtn =
  3438.       {
  3439.         Typ = "+"
  3440.         Txt = "Paths and files to create"
  3441.         Cap = "Output directories..."
  3442.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3443.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3444.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3445.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3446.         cmd:macro = {Typ="M" Msg="GAMd"}    // switches to RTCW (cmd=GAM, game=d)
  3447.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3448.       }
  3449.       sep: = {Typ="S" Txt = ""}
  3450.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3451.       DefaultTexture: =
  3452.       {
  3453.         t_DefaultTexture = !
  3454.         GameCfg = "RTCW"
  3455.       }
  3456.       DefaultTextureTrigger: =
  3457.       {
  3458.         t_DefaultTextureTrigger = !
  3459.         GameCfg = "RTCW"
  3460.       }
  3461.       DefaultTextureClip: =
  3462.       {
  3463.         t_DefaultTextureClip = !
  3464.         GameCfg = "RTCW"
  3465.       }
  3466.       DefaultTextureOrigin: =
  3467.       {
  3468.         t_DefaultTextureOrigin = !
  3469.         GameCfg = "RTCW"
  3470.       }
  3471.       DefaultTextureCaulk: =
  3472.       {
  3473.         t_DefaultTextureCaulk = !
  3474.         GameCfg = "RTCW"
  3475.       }
  3476.       3DLight: =
  3477.       {
  3478.         Txt = "Game Light saturation"
  3479.         Typ = "EF1"
  3480.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3481.       }
  3482.       sep:        = {Typ="S" Txt = ""}
  3483.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3484.       t_GameBuildPgms=!
  3485.     }
  3486.     GameWildWest:form =
  3487.     {
  3488.       Style = "3"
  3489.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3490.       Program: = {
  3491.         Typ = "C"     // combo box
  3492.         Txt = "WildWest command-line"
  3493.         Items = "WOLFMP.EXE +set sv_pure 0 +set fs_Game WildWest"
  3494.         t_ProgramHint=!
  3495.       }
  3496.       Directory: =
  3497.       {
  3498.         Txt = "Directory of WildWest"
  3499.         Typ = "ED"      // Edit Directory
  3500.         Hint = "Path to the game executable"
  3501.         CheckFile = "WildWest.exe"
  3502.       }
  3503.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3504.       {
  3505.         Typ = "+"
  3506.         Txt = "Installed Add-ons"
  3507.         Cap = "Add-ons..."
  3508.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3509.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3510.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3511.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3512.         cmd:macro = {Typ="M" Msg="GAMw"}    // switches to RTCW (cmd=GAM, game=d)
  3513.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3514.       }
  3515.       Outp:tbbtn =
  3516.       {
  3517.         Typ = "+"
  3518.         Txt = "Paths and files to create"
  3519.         Cap = "Output directories..."
  3520.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3521.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3522.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3523.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3524.         cmd:macro = {Typ="M" Msg="GAMw"}    // switches to RTCW (cmd=GAM, game=d)
  3525.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3526.       }
  3527.       sep: = {Typ="S" Txt = ""}
  3528.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3529.       DefaultTexture: =
  3530.       {
  3531.         t_DefaultTexture = !
  3532.         GameCfg = "WildWest"
  3533.       }
  3534.       DefaultTextureTrigger: =
  3535.       {
  3536.         t_DefaultTextureTrigger = !
  3537.         GameCfg = "WildWest"
  3538.       }
  3539.       DefaultTextureClip: =
  3540.       {
  3541.         t_DefaultTextureClip = !
  3542.         GameCfg = "WildWest"
  3543.       }
  3544.       DefaultTextureOrigin: =
  3545.       {
  3546.         t_DefaultTextureOrigin = !
  3547.         GameCfg = "WildWest"
  3548.       }
  3549.       DefaultTextureCaulk: =
  3550.       {
  3551.         t_DefaultTextureCaulk = !
  3552.         GameCfg = "WildWest"
  3553.       }
  3554.       3DLight: =
  3555.       {
  3556.         Txt = "Game Light saturation"
  3557.         Typ = "EF1"
  3558.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3559.       }
  3560.       sep:        = {Typ="S" Txt = ""}
  3561.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3562.       t_GameBuildPgms=!
  3563.     }
  3564.     GameMOHAA:form =
  3565.     {
  3566.       Style = "3"
  3567.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3568.       Program: = {
  3569.         Typ = "C"     // combo box
  3570.         Txt = "MOHAA command-line"
  3571.         Items = "MOHAA.EXE +set sv_pure 0"
  3572.         t_ProgramHint=!
  3573.       }
  3574.       Directory: =
  3575.       {
  3576.         Txt = "Directory of MOHAA"
  3577.         Typ = "ED"      // Edit Directory
  3578.         Hint = "Path to the game executable"
  3579.         CheckFile = "MOHAA.EXE"
  3580.       }
  3581.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3582.       {
  3583.         Typ = "+"
  3584.         Txt = "Installed Add-ons"
  3585.         Cap = "Add-ons..."
  3586.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3587.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3588.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3589.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3590.         cmd:macro = {Typ="M" Msg="GAMe"}    // switches to MOHAA (cmd=GAM, game=e)
  3591.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3592.       }
  3593.       Outp:tbbtn =
  3594.       {
  3595.         Typ = "+"
  3596.         Txt = "Paths and files to create"
  3597.         Cap = "Output directories..."
  3598.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3599.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3600.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3601.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3602.         cmd:macro = {Typ="M" Msg="GAMe"}    // switches to MOHAA (cmd=GAM, game=e)
  3603.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3604.       }
  3605.       sep: = {Typ="S" Txt = ""}
  3606.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3607.       DefaultTexture: =
  3608.       {
  3609.         t_DefaultTexture = !
  3610.         GameCfg = "MOHAA"
  3611.       }
  3612.       DefaultTextureTrigger: =
  3613.       {
  3614.         t_DefaultTextureTrigger = !
  3615.         GameCfg = "MOHAA"
  3616.       }
  3617.       DefaultTextureClip: =
  3618.       {
  3619.         t_DefaultTextureClip = !
  3620.         GameCfg = "MOHAA"
  3621.       }
  3622.       DefaultTextureOrigin: =
  3623.       {
  3624.         t_DefaultTextureOrigin = !
  3625.         GameCfg = "MOHAA"
  3626.       }
  3627.       DefaultTextureCaulk: =
  3628.       {
  3629.         t_DefaultTextureCaulk = !
  3630.         GameCfg = "MOHAA"
  3631.       }
  3632.       3DLight: =
  3633.       {
  3634.         Txt = "Game Light saturation"
  3635.         Typ = "EF1"
  3636.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3637.       }
  3638.       sep:        = {Typ="S" Txt = ""}
  3639.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3640.       t_GameBuildPgms=!
  3641.     }
  3642.     GameJK2:form =
  3643.     {
  3644.       Style = "3"
  3645.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3646.       Program: = {
  3647.         Typ = "C"     // combo box
  3648.         Txt = "JK2 command-line"
  3649.         Items = "JK2MP.EXE +set sv_pure 0"
  3650.         t_ProgramHint=!
  3651.       }
  3652.       Directory: =
  3653.       {
  3654.         Txt = "Directory of Jedi Knight 2"
  3655.         Typ = "ED"      // Edit Directory
  3656.         Hint = "Path to the game executable"
  3657.         CheckFile = "JK2MP.EXE"
  3658.       }
  3659.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3660.       {
  3661.         Typ = "+"
  3662.         Txt = "Installed Add-ons"
  3663.         Cap = "Add-ons..."
  3664.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3665.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3666.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3667.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3668.         cmd:macro = {Typ="M" Msg="GAMf"}    // switches to JK2 (cmd=GAM, game=f)
  3669.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3670.       }
  3671.       Outp:tbbtn =
  3672.       {
  3673.         Typ = "+"
  3674.         Txt = "Paths and files to create"
  3675.         Cap = "Output directories..."
  3676.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3677.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3678.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3679.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3680.         cmd:macro = {Typ="M" Msg="GAMf"}    // switches to JK2 (cmd=GAM, game=f)
  3681.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3682.       }
  3683.       sep: = {Typ="S" Txt = ""}
  3684.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3685.       DefaultTexture: =
  3686.       {
  3687.         t_DefaultTexture = !
  3688.         GameCfg = "JK2"
  3689.       }
  3690.       DefaultTextureTrigger: =
  3691.       {
  3692.         t_DefaultTextureTrigger = !
  3693.         GameCfg = "JK2"
  3694.       }
  3695.       DefaultTextureClip: =
  3696.       {
  3697.         t_DefaultTextureClip = !
  3698.         GameCfg = "JK2"
  3699.       }
  3700.       DefaultTextureOrigin: =
  3701.       {
  3702.         t_DefaultTextureOrigin = !
  3703.         GameCfg = "JK2"
  3704.       }
  3705.       DefaultTextureCaulk: =
  3706.       {
  3707.         t_DefaultTextureCaulk = !
  3708.         GameCfg = "JK2"
  3709.       }
  3710.       3DLight: =
  3711.       {
  3712.         Txt = "Game Light saturation"
  3713.         Typ = "EF1"
  3714.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3715.       }
  3716.       sep:        = {Typ="S" Txt = ""}
  3717.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3718.       t_GameBuildPgms=!
  3719.     }
  3720.  
  3721.     GameSoF2:form =
  3722.     {
  3723.       Style = "3"
  3724.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3725.       Program: = {
  3726.         Typ = "C"     // combo box
  3727.         Txt = "SoF2 command-line"
  3728.         Items = "SoF2MP.EXE +set sv_pure 0"
  3729.         t_ProgramHint=!
  3730.       }
  3731.       Directory: =
  3732.       {
  3733.         Txt = "Directory of Soldier of Fortune 2"
  3734.         Typ = "ED"      // Edit Directory
  3735.         Hint = "Path to the game executable"
  3736.         CheckFile = "SoF2MP.EXE"
  3737.       }
  3738.       AddOns:tbbtn =       // button (don't forget :tbbtn for all the action buttons !)
  3739.       {
  3740.         Typ = "+"
  3741.         Txt = "Installed Add-ons"
  3742.         Cap = "Add-ons..."
  3743.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  3744.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  3745.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  3746.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  3747.         cmd:macro = {Typ="M" Msg="GAMf"}    // switches to SoF2 (cmd=GAM, game=f)
  3748.         cmd:macro = {Typ="M" Msg="ADDO"}    // opens Add-ons configuration dialog box
  3749.       }
  3750.       Outp:tbbtn =
  3751.       {
  3752.         Typ = "+"
  3753.         Txt = "Paths and files to create"
  3754.         Cap = "Output directories..."
  3755.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0
  3756.                $FA0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AA
  3757.                $A220FBB00322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A
  3758.                $0022002A200666002AAAA20006666666002A200666666666660006666666
  3759.         cmd:macro = {Typ="M" Msg="GAMf"}    // switches to SoF2 (cmd=GAM, game=f)
  3760.         cmd:macro = {Typ="M" Msg="OUTP"}    // opens "Output directories" dialog box
  3761.       }
  3762.       sep: = {Typ="S" Txt = ""}
  3763.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3764.       DefaultTexture: =
  3765.       {
  3766.         t_DefaultTexture = !
  3767.         GameCfg = "SoF2"
  3768.       }
  3769.       DefaultTextureTrigger: =
  3770.       {
  3771.         t_DefaultTextureTrigger = !
  3772.         GameCfg = "SoF2"
  3773.       }
  3774.       DefaultTextureClip: =
  3775.       {
  3776.         t_DefaultTextureClip = !
  3777.         GameCfg = "SoF2"
  3778.       }
  3779.       DefaultTextureOrigin: =
  3780.       {
  3781.         t_DefaultTextureOrigin = !
  3782.         GameCfg = "SoF2"
  3783.       }
  3784.       DefaultTextureCaulk: =
  3785.       {
  3786.         t_DefaultTextureCaulk = !
  3787.         GameCfg = "SoF2"
  3788.       }
  3789.       3DLight: =
  3790.       {
  3791.         Txt = "Game Light saturation"
  3792.         Typ = "EF1"
  3793.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3794.       }
  3795.       sep:        = {Typ="S" Txt = ""}
  3796.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3797.       t_GameBuildPgms=!
  3798.     }
  3799.  
  3800.  
  3801.     GameTorque:form =
  3802.     {
  3803.       Style = "3"
  3804.       sep: = {Typ="S" Txt="---- Game Settings ----"}
  3805.       Program: =
  3806.       {
  3807.         Typ = "C"
  3808.         Txt = "Torque converter"
  3809.         Items = "map2dif_DEBUG.EXE"
  3810.         //t_ProgramHint=!
  3811.       }
  3812.       Directory: =
  3813.       {
  3814.         Txt = "Directory of Torque files"
  3815.         Typ = "ED"
  3816.         Hint = "Path to the converter executable"
  3817.         CheckFile = ""
  3818.       }
  3819.       AddOns:tbbtn =
  3820.       {
  3821.         Typ = "+"
  3822.         Txt = "Installed Add-ons"
  3823.         Cap = "Add-ons..."
  3824.         Icon = $666008881111111866604441999799916660CCC11011111166602444045555
  3825.          $4866602C2AA478887866602C4A24787F78666022AC48778878666022CC4788887866
  3826.          $6000407787877866608777777777784448444844487F785C77CF77CC4877785CC7C7
  3827.          $77CC488880055555555548870666608888888800666666666666666666
  3828.         cmd:macro = { Typ = "M" Msg = "GAMg" } // switches to Torque (cmd=GAM, game=g)
  3829.         cmd:macro = { Typ = "M" Msg = "ADDO" } // opens Add-ons configuration dialog box
  3830.       }
  3831.       Outp:tbbtn =
  3832.       {
  3833.         Typ = "+"
  3834.         Txt = "Paths and files to create"
  3835.         Cap = "Output directories..."
  3836.         Icon = $666660000066666666660232AA20666660003332ABA0206602303332ABB0FA
  3837.          $0603303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AAA220FBB003
  3838.          $22022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A0022002A200666002A
  3839.          $AAA20006666666002A200666666666660006666666
  3840.         cmd:macro = { Typ = "M" Msg = "GAMg" } // switches to Torque (cmd=GAM, game=g)
  3841.         cmd:macro = { Typ = "M" Msg = "OUTP" } // opens "Output directories" dialog box
  3842.       }
  3843.       sep: = {Typ="S" Txt = ""}
  3844.       sep: = {Typ="S" Txt="---- Map-editor Settings ----"}
  3845.       DefaultTexture: =
  3846.       {
  3847.         t_DefaultTexture = !
  3848.         GameCfg = "Torque"
  3849.       }
  3850.       3DLight: =
  3851.       {
  3852.         Txt = "Game Light saturation"
  3853.         Typ = "EF1"
  3854.         Hint = "Currently only for the OpenGL viewer. Larger values make darker scenes."
  3855.       }
  3856.       sep:        = {Typ="S" Txt = ""}
  3857.       sep:        = {Typ="S" Txt="---- Build Programs Execution Sequence ----"}
  3858.       t_GameBuildPgms=!
  3859.     }
  3860.  
  3861.     MapColors:form =
  3862.     {
  3863.       Style = "7"       // gray form instead of white one
  3864.       Scheme0: =
  3865.       {
  3866.         Txt = "Color schemes"
  3867.         Cap = "Default color scheme"
  3868.         Typ = "B"     // Button
  3869.         //Msg = "1"
  3870.         Data: =       // the data that this button puts in the object when you click it
  3871.         {
  3872.           InvertedColors = ""
  3873.           ViewXZ     = $E8E8B8
  3874.           ViewXY     = $E8DCB8
  3875.           SelXZ      = $0080C0
  3876.           SelXY      = $0090C0
  3877.           Gray       = $BABABA
  3878.           Axis       = $A6CAF0
  3879.           GridXZ     = $008000
  3880.           GridXY     = $808000
  3881.           GridLines  = $D0D0FF
  3882.           BrEnt      = $800000
  3883.           Duplicator = $0000FF
  3884.           Tag        = $FF0000
  3885.           GrayImage  = $FF0000
  3886.           BSP        = $008080
  3887.           Digger     = $FF00FF
  3888.           Linear     = $FF0080
  3889.           Bezier     = $008080
  3890.         }
  3891.       }
  3892.       Scheme1: =
  3893.       {
  3894.         Cap = "Classic QuArK scheme"
  3895.         Typ = "B"     // Button
  3896.         //Msg = "1"
  3897.         Data: =       // the data that this button puts in the object when you click it
  3898.         {
  3899.           InvertedColors = ""
  3900.           ViewXZ     = $80FF80
  3901.           ViewXY     = $FFFF80
  3902.           SelXZ      = $008000
  3903.           SelXY      = $808000
  3904.           Gray       = $C0C0C0
  3905.           Axis       = $A6CAF0
  3906.           GridXZ     = $008000
  3907.           GridXY     = $808000
  3908.           GridLines  = $D0D0FF
  3909.           BrEnt      = $800000
  3910.           Duplicator = $0000FF
  3911.           Tag        = $FF0000
  3912.           GrayImage  = $FF0000
  3913.           BSP        = $008080
  3914.           Digger     = $FF00FF
  3915.           Linear     = $FF0080
  3916.           Bezier     = $008080
  3917.         }
  3918.       }
  3919.       Scheme2: =
  3920.       {
  3921.         Cap = "Black-on-white scheme"
  3922.         Typ = "B"     // Button
  3923.         //Msg = "1"
  3924.         Data: =
  3925.         {
  3926.           InvertedColors = ""
  3927.           ViewXZ     = $FFFFFF
  3928.           ViewXY     = $FFFFFF
  3929.           SelXZ      = $80FF80
  3930.           SelXY      = $FFFF80
  3931.           Gray       = $C0C0C0
  3932.           Axis       = $A6CAF0
  3933.           GridXZ     = $008000
  3934.           GridXY     = $808000
  3935.           GridLines  = $D0D0FF
  3936.           BrEnt      = $800000
  3937.           Duplicator = $008000
  3938.           Tag        = $FF8040
  3939.           GrayImage  = $0000FF
  3940.           BSP        = $8080FF
  3941.           Digger     = $FF00FF
  3942.           Linear     = $FF0080
  3943.           Bezier     = $008080
  3944.         }
  3945.       }
  3946.       Scheme3: =
  3947.       {
  3948.         Cap = "White-on-black scheme"
  3949.         Typ = "B"     // Button
  3950.         //Msg = "1"
  3951.         Data: =
  3952.         {
  3953.           InvertedColors = "1"
  3954.           ViewXZ     = $000000
  3955.           ViewXY     = $000000
  3956.           SelXZ      = $FF4040
  3957.           SelXY      = $D0B870
  3958.           Gray       = $C0C0C0
  3959.           Axis       = $C1DEFF
  3960.           GridXZ     = $008000
  3961.           GridXY     = $808000
  3962.           GridLines  = $003C80
  3963.           BrEnt      = $FFFF80
  3964.           Duplicator = $C000C0
  3965.           Tag        = $FF0000
  3966.           GrayImage  = $C1DEFF
  3967.           BSP        = $419AFF
  3968.           Digger     = $FF00FF
  3969.           Linear     = $FF0080
  3970.           Bezier     = $008080
  3971.         }
  3972.       }
  3973.       Sep1: =
  3974.       {
  3975.         Typ = "S"    // Separator
  3976.         Txt = ""
  3977.       }
  3978.       InvertedColors: =
  3979.       {
  3980.         Txt = "Base color scheme"
  3981.         Typ = "X"     // checkboX
  3982.         Cap = "white on black"
  3983.       }
  3984.       ViewXZ:     = { Txt="Side map view (XZ)"          Typ="LI" } // coLor selection, Integer
  3985.       ViewXY:     = { Txt="Top map view (XY)"           Typ="LI" }
  3986.       SelXZ:      = { Txt="Selected brushes, side view" Typ="LI" }
  3987.       SelXY:      = { Txt="Selected brushes, top view"  Typ="LI" }
  3988.       Gray:       = { Txt="Out-of-view grayed parts"    Typ="LI" }
  3989.       Axis:       = { Txt="Axis"                        Typ="LI" }
  3990.       GridXZ:     = { Txt="Grid dots, side view"        Typ="LI" }
  3991.       GridXY:     = { Txt="Grid dots, top view"         Typ="LI" }
  3992.       GridLines:  = { Txt="Grid lines"                  Typ="LI" }
  3993.       BrEnt:      = { Txt="Brush entities (doors,...)"  Typ="LI" }
  3994.       Duplicator: = { Txt="Duplicator images"           Typ="LI" }
  3995.       Tag:        = { Txt="Tagged point / group handle" Typ="LI" }
  3996.       GrayImage:  = { Txt="While dragging"              Typ="LI" }
  3997.       BSP:        = { Txt="BSP map"                     Typ="LI" }
  3998.       Digger:     = { Txt="Digging polyhedrons"         Typ="LI" }
  3999.       Bezier:     = { Txt="Bezier patches"              Typ="LI" }
  4000.       Linear:     = { Txt="Linear Mapping box"          Typ="LI" }
  4001.     }
  4002.     MdlColors:form =
  4003.     {
  4004.       Style = "7"       // gray form instead of white one
  4005.       Scheme0: =
  4006.       {
  4007.         Txt = "Color schemes"
  4008.         Cap = "Default color scheme"
  4009.         Typ = "B"     // Button
  4010.         //Msg = "1"
  4011.         Data: =       // the data that this button puts in the object when you click it
  4012.         {
  4013.           InvertedColors = ""
  4014.           ViewXZ     = $E8E8B8
  4015.           ViewXY     = $E8DCB8
  4016.           SelXZ      = $0080C0
  4017.           SelXY      = $0090C0
  4018.           Gray       = $BABABA
  4019.           Axis       = $A6CAF0
  4020.           GridXZ     = $008000
  4021.           GridXY     = $808000
  4022.           GridLines  = $D0D0FF
  4023.           Tag        = $FF0000
  4024.           GrayImage  = $FF0000
  4025.           Linear     = $FF0080
  4026.           Vertices   = $FF0000
  4027.         }
  4028.       }
  4029.       Sep1: =
  4030.       {
  4031.         Typ = "S"    // Separator
  4032.       }
  4033.       InvertedColors: =
  4034.       {
  4035.         Txt = "Base color scheme"
  4036.         Typ = "X"     // checkboX
  4037.         Cap = "white on black"
  4038.       }
  4039.       ViewXZ:     = { Txt = "Side map view (XZ)" Typ = "LI" } // coLor selection, Integer
  4040.       ViewXY:     = { Txt = "Top map view (XY)" Typ = "LI" }
  4041.       SelXZ:      = { Txt = "Selected brushes, side view" Typ = "LI" }
  4042.       SelXY:      = { Txt = "Selected brushes, top view" Typ = "LI" }
  4043.       Gray:       = { Txt = "Out-of-view grayed parts" Typ = "LI" }
  4044.       Axis:       = { Txt = "Axis" Typ = "LI" }
  4045.       GridXZ:     = { Txt = "Grid dots, side view" Typ = "LI" }
  4046.       GridXY:     = { Txt = "Grid dots, top view" Typ = "LI" }
  4047.       GridLines:  = { Txt = "Grid lines" Typ = "LI" }
  4048.       Tag:        = { Txt = "Tagged point / group handle" Typ = "LI" }
  4049.       GrayImage:  = { Txt = "While dragging" Typ = "LI" }
  4050.       Linear:     = { Txt = "Linear Mapping box" Typ = "LI" }
  4051.       Vertices:   = { Txt = "Vertex dots" Typ = "LI" }
  4052.     }
  4053.     HotKeyForm:incl =
  4054.     {
  4055.       Txt = "&R" // Read-only but use the 'Specific-name' for label
  4056.       Typ = "R"
  4057.       Hint = "If map-editor has started, new assignment will apply on"
  4058.           $0D"next QuArK restart. Otherwise when map-editor is started."
  4059.     }
  4060.    AlphaKeyForm:incl =
  4061.     {
  4062.       Txt = "&R" // Read-only but use the 'Specific-name' for label
  4063.       Typ = "R"
  4064.     }
  4065.     MouseForm:incl =       // ":incl" objects can be included in other objects (see below)
  4066.     {
  4067.       Typ = "CL"      // Combobox List
  4068.       Items = "Ignored"
  4069.            $0D"Select object"
  4070.            $0D"Frozen selection"
  4071.            $0D"Select multiple"
  4072.            $0D"Select and Menu"
  4073.            $0D"Multiselect and Menu"
  4074.            $0D"Menu only"
  4075.            $0D"Zoom In"
  4076.            $0D"Zoom Out"
  4077.       Values = ""
  4078.             $0D"S"
  4079.             $0D"FS"
  4080.             $0D"ST"
  4081.             $0D"SM"
  4082.             $0D"STM"
  4083.             $0D"M"
  4084.             $0D"+"
  4085.             $0D"-"
  4086.     }
  4087.     MDragForm:incl =
  4088.     {
  4089.       Typ = "CL"      // Combobox List
  4090.       Items = "Ignored if not on an handle"
  4091.            $0D"Rectangle selection"
  4092.            $0D"Multiple rect. sel."
  4093.            $0D"Rect. sel. and Menu"
  4094.            $0D"MultiRectSel and Menu"
  4095.            $0D"Scroll View"
  4096.            $0D"Zoom In rect. / sidestep"
  4097.            $0D"Zoom Out rect. / sidestep"
  4098.            $0D"Mouse Free Zoom"
  4099.            $0D"Circle Strafe Selection"
  4100.       Values = ""
  4101.             $0D"RS"
  4102.             $0D"RST"
  4103.             $0D"RSM"
  4104.             $0D"RSTM"
  4105.             $0D"S"
  4106.             $0D"R+"
  4107.             $0D"R-"
  4108.             $0D"Z"
  4109.             $0D"C"
  4110.     }
  4111.     MapHotKeys:form =
  4112.     {
  4113.        Style = "7"
  4114.        Open: = {HotKeyForm = !}
  4115.        Save: = {HotKeyForm = !}
  4116.        Close: = {HotKeyForm = !}
  4117.        sep:={Typ="S" Txt = ""}
  4118.        Cut: = {HotKeyForm = !}
  4119.        Copy: = {HotKeyForm = !}
  4120.        Delete: = {HotKeyForm = !}
  4121.        Undo: = {HotKeyForm = !}
  4122.        Redo: = {HotKeyForm = !}
  4123.        Duplicate: = {HotKeyForm = !}
  4124.        sep:={Typ="S" Txt = ""}
  4125.        Cancel Selections: = {HotKeyForm = !}
  4126.        Select Parent: = {HotKeyForm = !}
  4127.        Collapse Tree: = {AlphaKeyForm = ! Hint="Prevent collapse of treeview on climb with Parent key."$0D" Key must be an ordinary alphabetic key, not used by 3DView|Keyboard Settings."}
  4128.        Select Child: = {HotKeyForm = !}
  4129.        Select Next: = {HotKeyForm = !}
  4130.        Select Previous: = {HotKeyForm = !}
  4131.        Same Type = {AlphaKeyForm = ! Hint="When this key is depressed, prev/next selection must be of same type" $0D
  4132.                      " Must be an ordinary alphabetic key, not used by 3DView|Keyboard Settings."}
  4133.        sep:={Typ="S" Txt = ""}
  4134.        Insert: = {HotKeyForm = !}
  4135.        Tag Side: = {HotKeyForm = !}
  4136.        Clear Tags: = {HotKeyForm = !}
  4137.        Glue Side: = {HotKeyForm = !}
  4138.        Add to Tagged: = {HotKeyForm = !}
  4139.        Align Texture: = {HotKeyForm = !}
  4140.        Link Selection: = {HotKeyForm = !}
  4141.        Select Tagged Faces: = {HotKeyForm = !}
  4142.        Extend Selection: = {HotKeyForm = !}
  4143.        Unrestrict Selection: = {HotKeyForm = !}
  4144.        Restrict to Selection: = {HotKeyForm = !}
  4145.        Zoom to Selection: = {HotKeyForm = !}
  4146.        Brush Subtraction: = {HotKeyForm = !}
  4147.        Browse Multiple Selection = {HotKeyForm = !}
  4148.        Freeze Selection: = {HotKeyForm = !}
  4149.        Unfreeze Selection: = {HotKeyForm = !}
  4150.        Invert Face Selection = {HotKeyForm = !}
  4151.        sep:={Typ="S" Txt = ""}
  4152.        Game Menu:= {Txt="&R" Typ="ESR"}
  4153.     }
  4154.     MapAuxKeys:form =
  4155.     {
  4156.        Style = "7"
  4157.        Select Faces: = {
  4158.          Txt = "&R" Typ = "R"
  4159.          Hint = "If this key is down, a mouseclick will select only faces."$0D
  4160.          "If map-editor has started, new assignment will apply on"
  4161.           $0D"next QuArK restart. Otherwise when map-editor is started."
  4162.        }
  4163.        Select Brushes: = {
  4164.          Txt = "&R" Typ = "R"
  4165.          Hint = "If this key is down, a mouseclick will select only brushes."$0D
  4166.          "If map-editor has started, new assignment will apply on"
  4167.           $0D"next QuArK restart. Otherwise when map-editor is started."
  4168.        }
  4169.        Select Curves: = {
  4170.          Txt = "&R" Typ = "R"
  4171.          Hint = "If this key is down, a mouseclick will select only curves (beziers)."$0D
  4172.          "If map-editor has started, new assignment will apply on"
  4173.           $0D"next QuArK restart. Otherwise when map-editor is started."
  4174.        }
  4175.        Select Entities: = {
  4176.          Txt = "&R" Typ = "R"
  4177.          Hint = "If this key is down, a mouseclick will select only entities (point and brush)."$0D
  4178.          "If map-editor has started, new assignment will apply on"
  4179.           $0D"next QuArK restart. Otherwise when map-editor is started."
  4180.        }
  4181.     }
  4182.     MapMouse:form =
  4183.     {
  4184.       Style = "7"
  4185.       Left: =
  4186.       {
  4187.         Txt = "Left mouse button"
  4188.         MouseForm = !    // Includes "MouseForm:incl" here at load time (the :incl must be present BEFORE the ! in the file)
  4189.       }
  4190.       LeftShift:   = { Txt = "Left button with Shift key" MouseForm = ! }
  4191.       LeftCtrl:    = { Txt = "Left button with Ctrl key" MouseForm = ! }
  4192.       Right:       = { Txt = "Right mouse button" MouseForm = ! }
  4193.       RightShift:  = { Txt = "Right button with Shift key" MouseForm = ! }
  4194.       RightCtrl:   = { Txt = "Right button with Ctrl key" MouseForm = ! }
  4195.       Middle:      = { Txt = "Middle mouse button" MouseForm = ! }
  4196.       MiddleShift: = { Txt = "Middle button with Shift key" MouseForm = ! }
  4197.       MiddleCtrl:  = { Txt = "Middle button with Ctrl key" MouseForm = ! }
  4198.       sep:={Typ="S" Txt = ""}
  4199.       LeftDrag:        = { Txt = "Left button dragging" MDragForm = ! }
  4200.       LeftDragShift:   = { Txt = "Left dragging with Shift" MDragForm = ! }
  4201.       LeftDragCtrl:    = { Txt = "Left dragging with Ctrl" MDragForm = ! }
  4202.       RightDrag:       = { Txt = "Right button dragging" MDragForm = ! }
  4203.       RightDragShift:  = { Txt = "Right dragging with Shift" MDragForm = ! }
  4204.       RightDragCtrl:   = { Txt = "Right dragging with Ctrl" MDragForm = ! }
  4205.       MiddleDrag:      = { Txt = "Middle button dragging" MDragForm = ! }
  4206.       MiddleDragShift: = { Txt = "Middle dragging with Shift" MDragForm = ! }
  4207.       MiddleDragCtrl:  = { Txt = "Middle dragging with Ctrl" MDragForm = ! }
  4208.     }
  4209.     MapKeys:form = {
  4210.       GridPlus    = {Typ="K" Txt="Increase grid step (*2)"}
  4211.       GridMinus   = {Typ="K" Txt="Decrease grid step (/2)"}
  4212.       ZoomIn      = {Typ="K" Txt="Zoom in"}
  4213.       ZoomOut     = {Typ="K" Txt="Zoom out"}
  4214.       MoveLeft    = {Typ="K" Txt="Move objects to the left"}
  4215.       MoveRight   = {Typ="K" Txt="Move objects to the right"}
  4216.       MoveUp      = {Typ="K" Txt="Move objects up"}
  4217.       MoveDown    = {Typ="K" Txt="Move objects down"}
  4218.     }
  4219.     GeneralDisplay:form =
  4220.     {
  4221.       Style = "3"
  4222.       Gamma: = {Txt="Gamma correction" Typ="EF1" Hint="Gamma correction to display texture (1=darker, 2=lighter)"}
  4223.       MarsCaption: = {Txt="Window captions" Typ="X" Cap="Colorful"}
  4224.       sep: = {Typ="S" Txt = ""}
  4225.       AutoFocus: = {Txt="Activate windows on mouseover" Typ="X" Cap="AutoFocus" Hint="if checked, the focus (active window) follows the mouse between windows (e.g. in the map editor)"}
  4226.       sep: = {Typ="S" Txt = ""}
  4227.       sep: = {Typ="S" Txt="Button and object icon colors"}
  4228.       Unsel: = {Typ="X" Txt="If not selected" Cap="display blue icons" Hint="Check this to display blue icons instead of brown ones for 'unselected' icons"}
  4229.       Sel: =   {Typ="X" Txt="If selected"     Cap="display blue icons" Hint="Uncheck this to display brown icons instead of blue ones for 'selected' icons"}
  4230.       IconPath: = {Typ="CL" Txt="Icon size"   Values="images\\"$0D"lgicons\\"  Items="Normal"$0D"Large (LGIcons needed !)" Hint="Large icons require you to download first the 'LGIcons' pack from the web site."}
  4231.       sep: = {Typ="S" Bold="0" Txt="(restart QuArK to reload icons with the new colors"}
  4232.       sep: = {Typ="S" Bold="0" Txt="  and size after you made changes here)"}
  4233.       sep: = {Typ="S" Txt = ""}
  4234.       MppTopBtns: = {Typ="X" Txt="Multi-pages panels" Cap="Buttons above"}
  4235.     }
  4236.     GeneralMemory:form =
  4237.     {
  4238.       MaxUndo: = {Txt="Max. undo levels" Typ="EF1" Hint="Maximum number of consecutive undos allowed"}
  4239.       MinUndo: = {Txt="Min. undo levels" Typ="EF1" Hint="Minimum number of consecutive undos allowed (warn if not enough memory for this number)"}
  4240.       UndoBufferSize: = {Txt="Size of undo buffer (MB)" Typ="EF1" Hint="Deletes older undo levels if it would take more memory than this"}
  4241.       GameBufferSize: = {Txt="Size of game buffer (MB)" Typ="EF1" Hint="Size of the memory buffer to allocate while loading files from Quake (e.g. textures)"}
  4242.       CompressionLevel: = {Txt="Compression Level" Typ="EF1" Hint="Level of Compression to use for zip files (0 .. 9)"}
  4243.       CompressionBufferSize: = {Txt="Size of compression buffer (KB)" Typ="EF1" Hint="Size of memory buffer to allocate when compressing files"}
  4244.     }
  4245.     externaledit:incl = {
  4246.       Typ = "EP"
  4247.       DefExt = "exe"
  4248.       Hint = "the program to use to edit files of this type, or <open> or <edit>"
  4249.     }
  4250.     GeneralExternalEditors:form =
  4251.     {
  4252.       Style = "3"
  4253.       Info: = {Typ="S" Txt="External editors to called from QuArK"}
  4254.       Info2: = {Typ="S" Txt = ""}
  4255.       .pcx: = { Txt="PCX images" externaledit = ! }
  4256.       .tga: = { Txt="TGA images" externaledit = ! }
  4257.       .bmp: = { Txt="BMP images" externaledit = ! }
  4258.       .jpg: = { Txt="JPG images" externaledit = ! }
  4259.       .wav: = { Txt="WAV sounds" externaledit = ! }
  4260.       .cin: = { Txt="CIN videos" externaledit = ! }
  4261.       .mdl: = { Txt="MDL models" externaledit = ! }
  4262.       .md2: = { Txt="MD2 models" externaledit = ! }
  4263.       .map: = { Txt="MAP text files" externaledit = ! }
  4264.       .wal: = { Txt="WAL textures" externaledit = ! }
  4265.       .swl: = { Txt="SWL Sin textures" externaledit = ! }
  4266.       .m8:  = { Txt="M8 textures" externaledit = ! }
  4267.       .pak: = { Txt="PAK archives" externaledit = ! }
  4268.       .pk3: = { Txt="PK3 archives" externaledit = ! }
  4269.       .sin: = { Txt="SIN Pak archives" externaledit = ! }
  4270.       .bsp: = { Txt="BSP compiled maps" externaledit = ! }
  4271.       .wad: = { Txt="WAD texture lists" externaledit = ! }
  4272.     }
  4273.     GeneralQuakeC:form =
  4274.     {
  4275.       Style = "6"
  4276.       Font0: = {Typ="F" Txt="Plain text" Cap="Plain text sample"}
  4277.       Font5: = {Typ="F" Txt="Reserved words" Cap="if else float"}
  4278.       Font1: = {Typ="F" Txt="Vectors" Cap="'100 -50 20'"}
  4279.       Font3: = {Typ="F" Txt="Strings" Cap=$22"String sample"$22}
  4280.       Font2: = {Typ="F" Txt="Operators" Cap="+ - * / < > = !"}
  4281.       Font4: = {Typ="F" Txt="Comments" Cap="// Comments"}
  4282.       Font6: = {Typ="F" Txt="Brackets" Cap="{   }"}
  4283.       Sep1: = {Typ="S" Txt = ""}
  4284.       Enabled: = {Typ="X" Txt="Code Syntax Highlighting" Cap="Enabled"}
  4285.     }
  4286.     General3DView:form =
  4287.     {
  4288.       Lib: = {
  4289.         Txt="Select 3D viewer"
  4290.         Typ="CL"
  4291.         Items  = "3DFX card (Glide drivers)" $0D "Software only"
  4292.         Values = "glide2x.dll" $0D "qrksoftg.dll"
  4293.         Hint="see also the OpenGL configuration page"
  4294.       }
  4295.       Entities: = {Txt="Entities in 3D" Cap="Display entities" Typ="X" Hint="Show entities in the 3D view"}
  4296.       //EntityBoxes: = {Txt="   ``"       Cap="as bounding boxes only" Typ="X" Hint="If not checked, entities are displayed as 3D Models when available"}
  4297.       FarDistance: = {Txt="``Far┤┤ distance" Typ="EF1" Min="50" Hint="How far you can view before objects are lost in the fog (lower numbers accelerate rendering because there is less to display)"}
  4298.       VAngle: = {Txt="Vertical view angle" Typ="EF1" Min="5" Max="80" Hint="Angle between the horizon and the higher and lower points you can see - larger numbers mean smaller image"}
  4299.       FrameColor: = {Txt="Frame color" Typ="LI" Hint="Color displayed besides the image if the window is too large"}
  4300.       TextureMaxDimension: = {Txt="Textures max-dimension" Typ="C"
  4301.         Items ="256"$0D"128"$0D"64"$0D"32"$0D"16"$0D"8"
  4302.         Values=  "8"$0D  "7"$0D "6"$0D "5"$0D "4"$0D"3"
  4303.         Hint="A lower value uses less memory for texture-images,"$0D"but will also decrease the texture quality in the 3D-views"
  4304.       }
  4305.       Sep0: = {Typ="S" Txt = ""}
  4306.       L0: = {Typ="S" Txt="---- 3DFX card owners only ----"}
  4307.       //FullScreen: = {Txt="3DFX Full-screen options" Typ="X" Cap="Full-screen" Hint="If not checked, the 3DFX card display is copied in a window"}
  4308.       TwoMonitors: = {
  4309.         Txt="Second monitor on 3DFX"
  4310.         Typ="CL"
  4311.         Items  = "I've only one monitor" $0D "3DFX monitor at left" $0D "3DFX monitor at right"
  4312.         Values = "" $0D "1" $0D "2"
  4313.         Hint="If you have two monitors (two screens), you can connect one on the 3DFX card and one on the 2D card"
  4314.       }
  4315.       FullScreenGamma: = {Txt="Full-screen gamma correction" Typ="EF1" Hint="Gamma correction for full-screen 3DFX mode only"}
  4316.       FullScreenSize: =  {Txt="Full-screen size" Typ="EF2" Hint="resolution is always 640x480, but a lower screen size will accelerate rendering by displaying black bands on the sides"}
  4317.       FogDensity: = {Txt="Fog density" Typ="EF1" Min='1' Hint="Fog density. Try yourself to see what it does."}
  4318.       FogColor: = {Txt="Fog color" Typ="LI" Hint="Fog color (recommended : either black or white)"}
  4319.       TranspFactor: = {Txt="Isometric transparent fraction" Typ="EF1" Hint="For non-perspective views : if nonzero, a part of what is behind the 1st cutting plane is still visible (transparent)"}
  4320.       Sep2: = {Typ="S" Txt = ""}
  4321.       L1: = {Typ="S" Txt="---- Software driver only ----"}
  4322.       SoftQuality: = {
  4323.         Txt="Software image quality"
  4324.         Typ="CL"
  4325.         Items  = "High details" $0D "Low details" $0D "Low details, smoothed"
  4326.         Values =     "0"        $0D     "1"       $0D     "2"
  4327.         Hint = "Slowest: High details   Fastest: Low details"
  4328.       }
  4329.       DynamicQuality: = {
  4330.         Txt="Quality while walking"
  4331.         Typ="CL"
  4332.         Items  = "High details" $0D "Low details" $0D "Low details, smoothed"
  4333.         Values =     "0"        $0D     "1"       $0D     "2"
  4334.         Hint = "Slowest: High details   Fastest: Low details"
  4335.       }
  4336.       Sep2c: = {Typ="S" Txt = ""}
  4337.       L5: = {Typ="S" Txt="Mouse sensitivity (neg. numbers invert direction)"}
  4338.       MouseWalk:     = {Typ="EF1" Txt="  walk forward/backward"}
  4339.       MouseHLook:    = {Typ="EF1" Txt="  look left/right"}
  4340.       MouseVLook:    = {Typ="EF1" Txt="  look up/down"}
  4341.       MouseSideStep: = {Typ="EF1" Txt="  sidestep left/right"}
  4342.       MouseUpDown:   = {Typ="EF1" Txt="  move up/down"}
  4343.       Sep2b: = {Typ="S" Txt = ""}
  4344.       L4: = {Typ="S" Txt="Keyboard settings"}
  4345.       KeyForward:    = {Typ="K" Txt="  forward"}
  4346.       KeyBack:       = {Typ="K" Txt="  backward"}
  4347.       KeyLeft:       = {Typ="K" Txt="  turn left"}
  4348.       KeyRight:      = {Typ="K" Txt="  turn right"}
  4349.       KeyStepLeft:   = {Typ="K" Txt="  sidestep left"}
  4350.       KeyStepRight:  = {Typ="K" Txt="  sidestep right"}
  4351.       KeyViewUp:     = {Typ="K" Txt="  view up"}
  4352.       KeyViewDown:   = {Typ="K" Txt="  view down"}
  4353.       KeyViewCenter: = {Typ="K" Txt="  center view"}
  4354.       KeyUp:         = {Typ="K" Txt="  move up"}
  4355.       KeyDown:       = {Typ="K" Txt="  move down"}
  4356.       KeyRun:        = {Typ="K" Txt="  run"}
  4357.       KeyStep:       = {Typ="K" Txt="  sidestep"}
  4358.       Sep3: = {Typ="S" Txt = ""}
  4359.       L3: = {Typ="S" Txt="Keyboard movement dynamics"}
  4360.       Speed: = {Txt="Movement speed" Typ="EF1" Hint="How fast you move, in pixels/second"}
  4361.       RunSpeed: = {Txt="Running speed" Typ="EF1" Hint="How fast you move when you hold down the run key, in pixels/second"}
  4362.       RotateSpeed: = {Txt="Rotation speed" Typ="EF1" Hint="How fast you turn left/right or look up/down, in degrees/second"}
  4363.       AccelDelay: = {Txt="Acceleration delay" Typ="EF1" Hint="How much time it takes until you reach full speed (``0┤┤ allowed)"}
  4364.       RunAccelDelay: = {Txt="Running acceleration delay" Typ="EF1" Hint="As above but while the run key is down"}
  4365.     }
  4366.     GeneralOpenGL:form =
  4367.     {
  4368.       Style = "3"
  4369.       Sep0: = {Typ="S" Txt = ""}
  4370.       L0: = {Typ="S" Txt="---- OpenGL 1.1 hardware owners only ----"}
  4371.       Mode: = {
  4372.         Txt="Use OpenGL for..."
  4373.         Typ="CL"
  4374.         Items  = "'3DGL' button only" $0D "all perspective views" $0D "(all views: not supported)"
  4375.         Values = "" $0D "1" $0D "2"
  4376.       }
  4377.       Warning2: = {Typ="X" Txt="The next time..." Cap="issue a Warning"}
  4378.       WndRect: = {Typ="EF4" Txt="Position/size of window" Hint="Position and size in pixels of the OpenGL window"}
  4379.       Fog: = {Typ="X" Txt="Fog" Cap="Fog enabled"}
  4380.       Lights: = {
  4381.         Txt="Lights"
  4382.         Typ="CL"
  4383.         Items  = "Disabled (map full bright)" $0D "Enabled in '3DGL' window" $0D "(all windows: not supported)"
  4384.         Values = "" $0D "1" $0D "2"
  4385.         Hint="Levels with few lights will look black -- turn off lighting in this case"
  4386.       }
  4387.       L0: = {Typ="S" Bold="0" Txt="To change overall light brightness, see the"}
  4388.       L0: = {Typ="S" Bold="0" Txt="configuration page for each game."}
  4389.       Sep0: = {Typ="S" Txt = ""}
  4390.       L0: = {Typ="S" Txt="---- troubleshooting options ----"}
  4391.       Bilinear: = { Typ="X" Txt="Bilinear Filtering" Cap="Enabled" }
  4392.       DoubleBuffer: = { Typ="X" Txt="Double buffering" Cap="Enabled" }
  4393.       SupportsGDI:  = { Typ="X" Txt="'Supports GDI' flag" Cap="Enabled" }
  4394.       AllowsGDI:    = { Typ="X" Txt="Over-the-scene lines+icons" Cap="Enabled" }
  4395.       ColorBits: = { Typ="EF1" Txt="Color bits (0=current)" }
  4396.       DepthBits: = { Typ="EF1" Txt="Depth buffer bits" }
  4397.       VCorrection: = { Typ="EF1" Txt="Size correction" Hint="Corrects misalignments between the image and the wireframe lines over it. For example, Windows NT's software OpenGL is known to require a correction of about 0.92 instead of 1; otherwise, the textured images are smaller than the wireframes." }
  4398.       GLLists: = { Typ="X" Txt="GL Lists" Cap="Enabled" Hint="Speeds up rendering when lights are enabled"}
  4399.     }
  4400.     GeneralAssociations:form =
  4401.     {
  4402.       Style = "3"
  4403.       t: = {Typ="S" Txt="File extensions Association"}
  4404.       t: = {Typ="S" Txt = ""}
  4405.       t: = {Typ="S" Bold="0" Txt="Check the file types to associate with QuArK, then click"}
  4406.       btn:tbbtn = {
  4407.         Typ="M"
  4408.         Msg="ASSO"
  4409.         Cap="Associate now !"
  4410.         Icon = $666008881111111866604441999799916660CCC00111111166608880B3088848
  4411.                $66000000BB30FF7860BBBBB3BBB30F7860FBBBBBBBBB0F7860FFFFFFBBBB0F78
  4412.                $66000000BBB0FF7866607770FF0FFF78444844400487FF785C77CF77CC487778
  4413.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  4414.       }
  4415.     //.qrk: = {Typ="X" Cap=".qrk" Txt="QuArK main file type"}
  4416.     //.qkm: = {Typ="X" Cap=".qkm" Txt="QuArK maps (if not in .qrk)"}
  4417.       .map: = {Typ="X" Cap=".map" Txt="Standard Quake .map files"}
  4418.     //.qkl: = {Typ="X" Cap=".qkl" Txt="QuArK models (if not in .qrk)"}
  4419.       .md2: = {Typ="X" Cap=".md2" Txt="Standard Quake 2 Models"}
  4420.       .mdl: = {Typ="X" Cap=".mdl" Txt="Standard Quake 1 Models"}
  4421.       .pak: = {Typ="X" Cap=".pak" Txt="PACK files"}
  4422.       .sin: = {Typ="X" Cap=".sin" Txt="PACK files for Sin"}
  4423.       .pk3: = {Typ="X" Cap=".pk3" Txt="PACK files for Quake 3"}
  4424.       .bsp: = {Typ="X" Cap=".bsp" Txt="Compiled maps"}
  4425.       .qc:  = {Typ="X" Cap=".qc"  Txt="QuakeC Code (Quake 1)"}
  4426.       .hc:  = {Typ="X" Cap=".hc"  Txt="HexenC Code (Hexen II)"}
  4427.       .wad: = {Typ="X" Cap=".wad" Txt="Quake 1 Textures group"}
  4428.       .wal: = {Typ="X" Cap=".wal" Txt="Quake 2 Texture file"}
  4429.       .swl: = {Typ="X" Cap=".swl" Txt="Sin Texture file"}
  4430.       .m8:  = {Typ="X" Cap=".m8"  Txt="Heretic II Texture file"}
  4431.       .pcx: = {Typ="X" Cap=".pcx" Txt="PCX Images (Quake 2)"}
  4432.       .tga: = {Typ="X" Cap=".tga" Txt="TGA Images"}
  4433.       .jpg: = {Typ="X" Cap=".jpg" Txt="JPEG Images"}
  4434.       .bmp: = {Typ="X" Cap=".bmp" Txt="Standard Windows Bitmap"}
  4435.       .cin: = {Typ="X" Cap=".cin" Txt="Video (Quake 2)"}
  4436.       .wav: = {Typ="X" Cap=".wav" Txt="Sound"}
  4437.       .zip: = {Typ="X" Cap=".zip" Txt="ZIP archives"}
  4438.       .qme: = {Typ="X" Cap=".qme" Txt="Files from QuArK version 4"}
  4439.       btn:tbbtn = {
  4440.         Typ="M"
  4441.         Msg="ASSK"
  4442.         Cap="Remove all associations"
  4443.         Icon = $6660088888888888666044487777777866997770088899886999988073099998
  4444.                $66999990779999786079999979999F7860F7999999990F7860FFFF9999970F78
  4445.                $660009999990FF786660999999999F7844499990099999788799997777999978
  4446.                $8799977777489990099988888848890666908888888800666666666666666666
  4447.       }
  4448.     }
  4449.     MapOptions:form =
  4450.     {
  4451.       Style = "1"
  4452.       DrawAxis:                 = {Typ="X" Txt="Map background"                 Cap="Draw axis"                            }
  4453.       EntityLinesDispersion:    = {Typ="X" Txt="   ``"                          Cap="Show indirect 'target' links"         }
  4454.       DrawMapLimit:             = {Typ="X" Txt="   ``"                          Cap="Draw map limits"                      }
  4455.       SolidGrid:                = {Typ="X" Txt="Grid"                           Cap="Grid as lines"                        }
  4456.       GridVisible:              = {Typ="X" Txt="   ``"                          Cap="Grid visible"                         }
  4457.       GridActive:               = {Typ="X" Txt="   ``"                          Cap="Grid active"                          }
  4458.       GridVisibleTex:           = {Typ="X" Txt="   ``"                          Cap="Show it on textured views too"        }
  4459.       RedLines2:                = {Typ="X" Txt="Red selection lines"            Cap="Both red lines"                       }
  4460.       CompassNumbers:           = {Typ="X" Txt="Compass"                        Cap="Display angle values"                 }
  4461.     //GrayOutOfView:            = {Typ="X" Txt="Map view mode"                  Cap="Gray out of view"                     }
  4462.     //HideOutOfView:            = {Typ="X" Txt="   ``"                          Cap="Hide out of view"                     }
  4463.     //Textured:                 = {Typ="X" Txt="   ``"                          Cap="Textured view"                        }
  4464.     //ViewModels:               = {Typ="X" Txt="Textured view"                  Cap="...include Models"                    }
  4465.       NoScrollBars:             = {Typ="X" Txt="Map view scroll"                Cap="Hide scroll bars"                     }
  4466.       CrossCursor:              = {Typ="X" Txt="Mouse cursor"                   Cap="Cross-like cursor"                    }
  4467.       HideMouseDrag:            = {Typ="X" Txt="   ``"                          Cap="Hidden while dragging"                }
  4468.       AutoAdjustNormal:         = {Typ="X" Txt="Polyhedron editing"             Cap="Quantize angles"                       }
  4469.       PagesLocked:              = {Typ="X" Txt="Multi-pages panel"              Cap="Locked"                               }
  4470.       TexPanelActive:           = {Typ="X" Txt="   ``"                          Cap="Show texture"                         }
  4471.       TexPanelLight:            = {Typ="X" Txt="   ``"                          Cap="Light gradient"                       }
  4472.       BBoxAlways:               = {Typ="X" Txt="Entities Bounding boxes"        Cap="Bounding frame corner"                }
  4473.       BBoxSelected:             = {Typ="X" Txt="   ``"                          Cap="Dark box on selected"                 }
  4474.       DeleteFaces:              = {Typ="X" Txt="Unused faces && polys"          Cap="Delete unused faces"                  }
  4475.       PolySubtractMax:          = {Typ="X" Txt="Polyhedron subtraction"         Cap="Allow overlapping"                    }
  4476.       ComputePolys:             = {Typ="X" Txt="   ``"                          Cap="Dig in 3D views"                      }
  4477.       HideFaces:                = {Typ="X" Txt="Polyhedron faces"               Cap="Hide faces in tree"                   }
  4478.       AutoClosePoly:            = {Typ="X" Txt="   ``"                          Cap="Auto collapse polyhedrons"            }
  4479.       HandleHints:              = {Typ="X" Txt="Hints (help rectangles)"        Cap="Hints for map handles"                }
  4480.       Recenter:                 = {Typ="X" Txt="Position of new objects"        Cap="Screen center"                        }
  4481.       AutoCheckMap:             = {Typ="X" Txt="When building the map"          Cap="Perform checks first"                 }
  4482.       IgnoreToBuild:            = {Typ="X" Txt="   ``"                          Cap="Ignore groups marked so"              }
  4483.       DisableMapComments:       = {Typ="X" Txt="   ``"                          Cap="Don't write comments in .map files"   }
  4484. //      DisableEnhTex:          = {Typ="X" Txt="   ``"                          Cap="Don't write //TX# in .map files"      }
  4485.       DisableFPCoord:           = {Typ="X" Txt="   ``"                          Cap="Don't write floating-point coords"    }
  4486.       UseIntegralVertices:      = {Typ="X" Txt="   ``"                          Cap="Use Integral Vertices as Threepoints" }
  4487.     }
  4488.     MdlOptions:form =
  4489.     {
  4490.       Style = "1"
  4491.       DrawAxis:                 = {Typ="X" Txt="Model background"                 Cap="Draw axis"                            }
  4492.       DrawMapLimit:             = {Typ="X" Txt="   ``"                          Cap="Draw model limits"                      }
  4493.       SolidGrid:                = {Typ="X" Txt="Grid"                           Cap="Grid as lines"                        }
  4494.       GridVisible:              = {Typ="X" Txt="   ``"                          Cap="Grid visible"                         }
  4495.       GridActive:               = {Typ="X" Txt="   ``"                          Cap="Grid active"                          }
  4496.       GridVisibleTex:           = {Typ="X" Txt="   ``"                          Cap="Show it on textured views too"        }
  4497.       CompassNumbers:           = {Typ="X" Txt="Compass"                        Cap="Display angle values"                 }
  4498.     //GrayOutOfView:            = {Typ="X" Txt="Model view mode"                  Cap="Gray out of view"                     }
  4499.     //HideOutOfView:            = {Typ="X" Txt="   ``"                          Cap="Hide out of view"                     }
  4500.     //Textured:                 = {Typ="X" Txt="   ``"                          Cap="Textured view"                        }
  4501.     //ViewModels:               = {Typ="X" Txt="Textured view"                  Cap="...include Models"                    }
  4502.       NoScrollBars:             = {Typ="X" Txt="Model view scroll"                Cap="Hide scroll bars"                     }
  4503.       CrossCursor:              = {Typ="X" Txt="Mouse cursor"                   Cap="Cross-like cursor"                    }
  4504.       HideMouseDrag:            = {Typ="X" Txt="   ``"                          Cap="Hidden while dragging"                }
  4505.       AutoAdjustNormal:         = {Typ="X" Txt="Polyhedron editing"             Cap="Quantize angles"                       }
  4506.       PagesLocked:              = {Typ="X" Txt="Multi-pages panel"              Cap="Locked"                               }
  4507.       HandleHints:              = {Typ="X" Txt="Hints (help rectangles)"        Cap="Hints for map handles"                }
  4508.     }
  4509.     MapBuilding:form =
  4510.     {
  4511.       Style = "7"
  4512.       AutoSave: = {
  4513.         Typ = "EF1"
  4514.         Txt = "Auto-Save every (minutes) :"
  4515.         Hint = "the map you are editing will be saved automatically each time this amount of minutes elasped (0=disabled)"
  4516.       }
  4517.       AutoSaveRun: = {
  4518.         Typ = "X"
  4519.         Txt = "Auto-Save"
  4520.         Cap = "before running game"
  4521.       }
  4522.       sep: = {Typ="S" Txt = ""}
  4523.       DefPoly: = {
  4524.         Typ     = "C"
  4525.         Txt     = "Default brush-entity size"
  4526.         Items   = ""
  4527.                $0D"128x128x128"
  4528.                $0D"96x96x96"
  4529.                $0D"64x64x64"
  4530.                $0D"48x48x48"
  4531.                $0D"32x32x32"
  4532.         Hint    = "Specify the X, Y and Z size of a cube, that will be used for"
  4533.                $0D"brush-entities. The format is '9999x9999x9999', and minimum size"
  4534.                $0D"is '8x8x8'."
  4535.       }
  4536.       WallWidth: = {
  4537.         Txt = "Wall width (for Make Hollow)"
  4538.         Typ = "EF1"    // Edit Float, 1 value
  4539.       }
  4540.       ForceAngleStep: = {
  4541.         Txt = "Force angle to (degrees)"
  4542.         Typ = "EF1"
  4543.         Min = '1'
  4544.         Max = '90'
  4545.       }
  4546.       //sep: = {Typ="S" Txt = ""}
  4547.       //BezierCenterX: = {
  4548.       //  Txt = "Bezier center offset (X)"
  4549.       //  Typ = "EF1"
  4550.       //  Min = '-64'
  4551.       //  Max = '64'
  4552.       //}
  4553.       //BezierCenterY: = {
  4554.       //  Txt = "Bezier center offset (Y)"
  4555.       //  Typ = "EF1"
  4556.       //  Min = '-64'
  4557.       //  Max = '64'
  4558.       //}
  4559.     }
  4560.     MdlBuilding:form =
  4561.     {
  4562.       Style = "7"
  4563.       ForceAngleStep: = {
  4564.         Txt = "Force angle to (degrees)"
  4565.         Typ = "EF1"
  4566.         Min = '1'
  4567.         Max = '90'
  4568.       }
  4569.     }
  4570.     Toolbars_TextureBrowser:form =
  4571.     {
  4572.       Style = "7"
  4573.       ImageListTextureDimension: = {
  4574.         Txt="Dimension of textures in texture-list"
  4575.         Hint="The bigger the dimension, more memory is needed, so make sure you don't overdo it."
  4576.           $0D"Only dimensions 32 to 128 in steps of 16 are allowed: 32, 48, 64, 80, 96, 112, 128."
  4577.         Typ="C"
  4578.         items  = "32  (32x32)"
  4579.               $0D"48  (48x48)"
  4580.               $0D"64  (64x64)"
  4581.               $0D"80  (80x80)"
  4582.               $0D"96  (96x96)"
  4583.               $0D"112  (112x112)"
  4584.               $0D"128  (128x128)"
  4585.         values = "32"
  4586.               $0D"48"
  4587.               $0D"64"
  4588.               $0D"80"
  4589.               $0D"96"
  4590.               $0D"112"
  4591.               $0D"128"
  4592.       }
  4593.       ImageListLoadNoOfTexAtEachCall: = {
  4594.         Txt="No. of textures to load per update"
  4595.         Hint="How many textures at a time QuArK should load, before updating the texture-browser screen."
  4596.           $0D"The higher the number, the less responsive QuArK will be, as it will not give control back"
  4597.           $0D"to the user, until the amount of textures have been loaded."$0D
  4598.           $0D"The best values are: 1 to 5"
  4599.         Typ="E"
  4600.       }
  4601.     }
  4602.   }
  4603.  
  4604.   Default forms.qctx =
  4605.   {
  4606.     Polyhedron:form =     // form on the polyhedrons page
  4607.     {
  4608.       Style = "1"
  4609.       header: = {
  4610.         Typ = "S"
  4611.         Txt = "%s"   // caption text is found in the object put in the form
  4612.         //Bold = "0"
  4613.       }
  4614.       faces: = {
  4615.         Typ = "E-R"      // edit, read only
  4616.         Txt = "Faces :"
  4617.         Hint = "The number of faces this polyhedron has|Number of faces"
  4618.       }
  4619.       center: = {
  4620.         Typ = "EF003"     // Edit Float, 3 values, Short (max. 2 decimals)
  4621.         Txt = "Center :"
  4622.         Hint = "The X, Y, Z coordinates of the center (you can enter other values to move the polyhedron)|Polyhedron center"
  4623.       }
  4624.       texture: = {
  4625.         Typ = "C"
  4626.         Txt = "Texture :"
  4627.         Items = "%s"   // items are found in the object put the form (texture$items)
  4628.           // texture$hint
  4629.         Hint = "%s||This box lets you see and change the name of the texture used on this or these polyhedrons. Wait with the mouse over the box to see the texture images."
  4630.       }
  4631.       ownedby: = {
  4632.         Typ = "E-R"
  4633.         Txt = "Owned by :"
  4634.         Hint = "The 'parent' (container) group or brush entity in the tree view||Click on the first button below to come back to the tree view; you will see the polyhedron inside a group. Every polyhedron is in a container, which can be the top-level 'worldspawn' entity, or a group or sub-group. Containers can be groups, used for map organization, or brush entities, i.e. entities with attached polyhedrons that make its shape, like doors and elevators."
  4635.       }
  4636.     }
  4637.     Face:form =     // form on the faces page
  4638.     {
  4639.       Style = "1"
  4640.       header: = {
  4641.         Typ = "S"
  4642.         Txt = "%s"   // caption text is found in the object put in the form
  4643.         //Bold = "0"
  4644.       }
  4645.       sharedby: = {
  4646.         Typ = "E-R"      // edit, read only
  4647.         Txt = "Used by :"
  4648.         Hint = "Press F1 for more information||Faces can be shared by multiple polyhedrons. Just like normal faces, shared faces have a texture and a supporting plane. The difference is that several polyhedrons may be delimited by this unique plane."$0D$0D"To make a shared face, go to the tree view and move a face outside its polyhedron into a group; then, all polyhedrons in the same group will be delimited by the face plane. Another, more intuitive way to use this feature is to select a group and cut it in two parts using the button 'cut polyhedrons and groups in two' above."
  4649.       }
  4650.       texture: = {
  4651.         Typ = "C"
  4652.         Txt = "Texture :"
  4653.         Items = "%s"   // items are found in the object put the form (texture$items)
  4654.         Hint = "%s||This box lets you see and change the name of the texture used on this or these faces. Wait with the mouse over the box to see the texture images."
  4655.       }
  4656.       origin: = {
  4657.         Typ = "EF003"     // Edit Float, 3 values, Short (max. 2 decimals)
  4658.         Txt = "Tex. origin:"
  4659.         Hint = "Texture origin point||This is the starting point of the texture mapping. Editing this will move the texture, but may also move the face if you enter a point outside the current plane."$0D$0D"Usually, you will use the mouse to move the cyan 'L' below instead."
  4660.       }
  4661.       scales: = {
  4662.         Typ = "EF002"     // Edit Float, 2 values, Short (max. 2 decimals)
  4663.         Txt = "Tex. scale:"
  4664.         Hint = "Scaling factors of the texture||The two scaling factors of the texture. They define how large the texture is, horizontally and vertically."$0D$0D"Usually, you will use the mouse to enlarge or shrink the cyan 'L' below instead."
  4665.       }
  4666.       angles: = {
  4667.         Typ = "EF02"
  4668.         Txt = "Tex. angles:"
  4669.         Hint = "Direction of texture axis||The angles of the direction of each texture axis, in degrees."$0D$0D"Usually, you will use the mouse to rotate the texture below instead."
  4670.       }
  4671.     }
  4672.     Bezier:form =     // form on the faces page
  4673.     {
  4674.       Style = "1"
  4675.       header: = {
  4676.         Typ = "S"
  4677.         Txt = "%s"   // caption text is found in the object put in the form
  4678.         //Bold = "0"
  4679.       }
  4680.       texture: = {
  4681.         Typ = "C"
  4682.         Txt = "Texture :"
  4683.         Items = "%s"   // items are found in the object put the form (texture$items)
  4684.         Hint = "%s||This box lets you see and change the name of the texture used on this or these faces. Wait with the mouse over the box to see the texture images."
  4685.       }
  4686.     }
  4687.     usercenterform:incl = {
  4688.       usercenter: = {Txt="&" Typ="EF03" Hint="Drag this with the handle"}
  4689.       centering: =
  4690.        {Txt= "&" Typ="P" Macro="usercenter" Cap="push" Hint="Push to add a user center"}
  4691.     }
  4692.     notexsubform:incl = {
  4693.        notexsub: = {Txt="&" Typ="X" Hint="Texture substitution in duplicators won't happen on this surface"}
  4694.     }
  4695.     dup plane:form = {
  4696.       P1:= {Txt="&" Typ="EF03"}
  4697.       P2:= {Txt="&" Typ="EF03"}
  4698.       P3:= {Txt="&" Typ="EF03"}
  4699.     }
  4700.     Default:f:form =
  4701.     {
  4702.       notexsubform=!
  4703.     }
  4704.     Default:b2:form =
  4705.     {
  4706.       notexsubform=!
  4707.     }
  4708.     Default:g:form =      // form that applies when editing groups
  4709.     {
  4710.       Style = "2"
  4711.       _color: = {Txt="Group color" Typ="L" Hint="color of the group on the map"}
  4712.       reset1: = {
  4713.         Txt = "   ``"
  4714.         Cap = "Reset to def."
  4715.         Typ = "B"
  4716.         Hint= "reset the group color to its default"
  4717.         Delete: = {
  4718.           _color = ""          // the button deletes this Specific
  4719.         }
  4720.       }
  4721.       usercenterform = !
  4722.       sep1:  = {Typ="S" Txt = ""}
  4723.       neg:   = {Txt="Neg. polys" Cap="Negative" Typ="X" Hint="polyhedrons in negative groups dig the map"}
  4724.       sep1:  = {Typ="S" Txt = ""}
  4725.       ;view: = {Txt="&" Typ="X01"  Cap="Grayed out"         Hint="the whole group is displayed grayed out"}
  4726.       ;view: = {Txt="&" Typ="X02"  Cap="Hidden"             Hint="the group is hidden from map views"}
  4727.       ;view: = {Txt="&" Typ="X08"  Cap="Hidden on textured" Hint="the group is hidden from textured views"}
  4728.       ;view: = {Txt="&" Typ="X016" Cap="Can't select"       Hint="can't select objects in this group with mouse clicks"}
  4729.       ;view: = {Txt="&" Typ="X04"  Cap="Ignore to build"    Hint="ignored while building the map"}
  4730.     }
  4731.     outform:incl = // include for dups with out
  4732.     {
  4733.       out: = {Txt="copy objects" Cap="outside" Typ="X" Hint="if checked, the duplicator or digger works with objects besides instead of only inside"}
  4734.     }
  4735.     serialform:incl = // include for dups that serialize target etc.
  4736.     {
  4737.       increment suffix: = {Txt="increment" Typ="X" Hint="If this is checked, target, targetname, killtarget values ending in a sequence of digits are incremented"}
  4738.       increment all target: ={Txt="incr. all targ." Typ="X" Hint="If this is checked, all specifics containing the word 'target' in their name are incremented"}
  4739.       incrementable specifics: = {Txt="incrementable" Typ="E" Hint="List here additional specifics to be incremented"}
  4740.       final_target = {Txt="&" Typ="E" Hint="Value of 'target' for last image, 'None' for no value" $0D " add 'final_killtarget' etc. for other incrementable specifics"$0D"for different final values associated with different bases,"$0D"list them base1:val base2:val2"}
  4741.       increment by = {Txt="&" Typ="E" Hint="size of increment" }
  4742.       incre_lip = {Txt="&" Typ="E" Hint="a custom increment for the specific 'lip'.  Make more on this model" $0D "Overrides 'increment by', and the specific is automatically made incrementable" }
  4743.       tex_sub = {Txt="&" Typ="E" Hint="Name of texture substitution file, which has a list of texturenames on each line, to be cycled thru" $0D " To block substitution on a face or patch, check the 'notexsub' specific."}
  4744.     }
  4745.     Default:d:form =    // form that applies when editing duplicators
  4746.     {
  4747.       out: = {Txt="copy objects" Cap="outside" Typ="X" Hint="if checked, the duplicator or digger works with objects besides instead of only inside"}
  4748.     }
  4749.  
  4750.     Default:p:form = // form for polys
  4751.     {
  4752.        neg: = {Txt="&" Typ="X" Hint="if checked, brush is negative"}
  4753.     }
  4754.     linearform:incl = {
  4755. //       scale: = {Txt="&" Typ="EF03"  Hint="X Y Z axis scaling" }
  4756. //       angles: = {Txt="&" Typ="E"  Hint="Pitch Roll Yaw Angles" $ 0D " (Rotation around Y X Z axes, in order)" }
  4757. //       matrix: = {Txt="&" Typ="E"  Hint="A matrix for an arbitrary linear transformation" $0D " (if you don't know what this is, use" $0D "scale & angles instead)."}
  4758.        linear: = {Txt="&" Typ="E"  Hint="A matrix for an arbitrary linear transformation" $0D " You probably don't want to edit this directly;" $0D " hit the 'Edit Linear' button below"}
  4759.        linedit: = {
  4760.          Txt="Edit Linear" Typ="P" Macro="linedit" Cap="push" Hint="Push to edit the matrix in the linear specific" $0D "  (Under Construction)"}
  4761.     }
  4762.  
  4763.     dup lin:form =
  4764.     {
  4765.       outform = !
  4766.       offset: = {Txt="&" Typ="E" Hint="Each instances is offset X Y Z units from previous one"}
  4767.       count: = {Txt="&" Typ="E" Hint="Number of instances generated"}
  4768.       offset dup: = {Txt="&" Typ="X" Hint="If this is checked, image is located at dup.origin-images center+offset" $0D " It's meant for New Copy One duplicator"}
  4769.       item center: = {Txt="&" Typ="X" Hint="If this is checked, if there is a 'linear' specific, each item in the" $0D " group is rotated around its own center (can be" $0D " usercenter) rather than the duplicator."}
  4770.       linearform = !
  4771.       serialform = !
  4772.     }
  4773.     dup symx:form =
  4774.     {
  4775.       serialform = !
  4776.     }
  4777.     dup symy:form =
  4778.     {
  4779.       serialform = !
  4780.     }
  4781.     dup symz:form =
  4782.     {
  4783.       serialform = !
  4784.     }
  4785.     dup symxyz:form =
  4786.     {
  4787.       x: = { txt="&" typ="X" cap="Flip X-axis" }
  4788.       y: = { txt="&" typ="X" cap="Flip Y-axis" }
  4789.       z: = { txt="&" typ="X" cap="Flip Z-axis" }
  4790.       serialform = !
  4791.     }
  4792.     dup basic:form =
  4793.     {
  4794.       outform = !
  4795.       offset: = {Txt="&" Typ="E" Hint="Each instances is offset X Y Z units from previous one"}
  4796.       count: = {Txt="&" Typ="E" Hint="Number of instances generated"}
  4797.       angle: = {Txt="&" Typ="E" Hint="Rotates the duplicated object by"$0D"that amount in degrees from its center"$0D"creating a circular pattern"$0D"A positive number for counterclockwise,"$0D"A negative number for clockwise"}
  4798.       serialform = !
  4799.     }
  4800.  
  4801.     dup radial:form =
  4802.     {
  4803.       Help = "Brushes placed inside this will be replicated around the axis," $0D " which can be tilted."
  4804.       count: = {Txt = "&" Hint = "Number of copies"}
  4805.       around: = {Txt = "&" Typ = "EF1"
  4806.                  Hint = "Degrees around axis for each copy"}
  4807.       spiral: = {Txt = "&" Typ = "EF2"
  4808.                  Hint = "displacement along and out from axis, per copy"}
  4809.       axis: = {Txt = "&" Typ = "EF3"
  4810.                 Hint = "axis for copies"}
  4811. //      buttons: = {
  4812. //        Txt = "align"
  4813. //        Typ = "PM"
  4814. //        Num = "3"
  4815. //        Macro = "dup_radial_align"
  4816. //        Caps = "XYZ"
  4817. //        Hint1 = "Align to X Axis"
  4818. //        Hint2 = "Align to Y Axis"
  4819. //        Hint3 = "Align to Z Axis"
  4820. //      }
  4821.       linearform = !
  4822.       macro: = {Txt = "&" Typ = "ESR"
  4823.                  Hint = "Don't you worry about this"}
  4824.     }
  4825.  
  4826.     capdetails:form =
  4827.     {
  4828.       faceonly:  = {Txt="&" Typ="X" Hint="if checked, only the top and bottom faces are produced, no inner curve"}
  4829.       nofront    = {Txt="&" Typ="X" Hint="if checked, front face is not produced"}
  4830.       noback:    = {Txt="&" Typ="X" Hint="if checked, back face is not produced"}
  4831.       noinner    = {Txt="&" Typ="X" Hint="if checked, inner face is not produced (thick bevels only)"}
  4832.       noouter:   = {Txt="&" Typ="X" Hint="if checked, outer face is not produced (thick bevels only)"}
  4833.       leftside:  = {Txt="&" Typ="X" Hint="if checked, left side is produced"}
  4834.       rightside: = {Txt="&" Typ="X" Hint="if checked, right side is produced"}
  4835.     }
  4836.     subdivideform:incl =
  4837.     {
  4838.       subdivide:  = {Txt="&" Typ="EF1"  Hint="integer value, generate 2^n+1 control points along the curve"$0D"  (Gives better approx to circle, but beware of R-speeds, also big patches might not show in Q3)"}
  4839.     }
  4840.     brushsubdivideform:incl =
  4841.     {
  4842.       subdivide:  = {Txt="&" Typ="EF1"  Hint="integer value, generate 2^n brushes along the curve"$0D"  (Gives better approx to circle, but beware of R-speeds ...)"}
  4843.     }
  4844.     dup cap:form =
  4845.     {
  4846.       inverse:    = {Txt="&" Typ="X"    Hint="if checked, concave surface of curve is outer and has texture"}
  4847.       lower:      = {Txt="&" Typ="X"    Hint="if checked, the whole thing is upside-down"}
  4848.       onside:     = {Txt="&" Typ="X"    Hint="if checked, curve goes front-to-back instead of top-to-bottom "}
  4849.       thick:      = {Txt="&" Typ="EF1"  Hint="if a nonzero value is given, an enclosed curve with thickness is produced"}
  4850.       subdivideform = !
  4851.       stretchtex: = {Txt="&" Typ="X"    Hint="if checked, texture on top/bottom is stretched to cover entire curved face." $0D "Otherwise complex things are done to make it easier to align the curve's texture with the sides."}
  4852.       open:       = {Txt="&" Typ="X"    Hint="if checked, front and back are open"}
  4853.       more: = {
  4854.         Typ="B"
  4855.         Txt="details"
  4856.         Cap="Push"
  4857.         Form="capdetails:form"
  4858.         Hint="specifics for more detailed control over generation of patches"
  4859.       }
  4860.       macro: = {Txt="&" Typ="ESR" Hint="This one is not for you, Saruman"}
  4861.     }
  4862.     beveldetails:form =
  4863.     {
  4864.       faceonly: = {Txt="&" Typ="X" Hint="if checked, only the top and bottom faces are produced, no inner curve"}
  4865.       notop     = {Txt="&" Typ="X" Hint="if checked, top face is not produced"}
  4866.       nobottom: = {Txt="&" Typ="X" Hint="if checked, bottom face is not produced"}
  4867.       noinner   = {Txt="&" Typ="X" Hint="if checked, inner face is not produced (thick bevels only)"}
  4868.       noouter:  = {Txt="&" Typ="X" Hint="if checked, outer face is not produced (thick bevels only)"}
  4869.       leftend:  = {Txt="&" Typ="X" Hint="if checked, left end is produced"}
  4870.       rightend: = {Txt="&" Typ="X" Hint="if checked, right end is produced"}
  4871.     }
  4872.     dup bevel:form =
  4873.     {
  4874.       inverse:    = {Txt="&" Typ="X"    Hint="if checked, concave surface of curve is outer and has texture"}
  4875.       lower:      = {Txt="&" Typ="X"    Hint="if checked, the whole thing is upside-down"}
  4876.       standup:    = {Txt="&" Typ="X"    Hint="if checked, curve goes top-to-bottom instead of front-to-back"}
  4877.       left:       = {Txt="&" Typ="X"    Hint="if checked, curve goes from back to left side rather than back to right side"}
  4878.       thick:      = {Txt="&" Typ="EF1"  Hint="if a nonzero value is given, an enclosed curve with thickness is produced"}
  4879.       subdivideform = !
  4880.       stretchtex: = {Txt="&" Typ="X"    Hint="if checked, texture on back is stretched to cover entire curved face." $0D "Otherwise complex things are done to make it easier to align the curve's texture with the sides."}
  4881.       open:       = {Txt="&" Typ="X"    Hint="if checked, top and bottom are open"}
  4882.       more: = {
  4883.         Typ="B"
  4884.         Txt="details"
  4885.         Cap="Push"
  4886.         Form="beveldetails:form"
  4887.         Hint="specifics for more detailed control over generation of patches"
  4888.       }
  4889.       macro: = {Txt="&" Typ="ESR" Hint = "This one is not for you, Saruman"}
  4890.     }
  4891.     dup column:form =
  4892.     {
  4893.       inverse:    = {Txt="&" Typ="X"     Hint="if checked, concave surface of curve is outer and has texture"}
  4894.       thick:      = {Txt="&" Typ="EF1"   Hint="if a nonzero value is given, an enclosed curve with thickness is produced"}
  4895.       subdivideform = !
  4896.       circle:     = {Txt="&" Typ="X" }
  4897.       stretchtex: = {Txt="&" Typ="X"     Hint="if checked, texture on back is stretched to cover entire column." $0D "Otherwise complex things are done so that if" $0D "the the texture on the back face is wrapped around the brush," $0D "this wrapping will also appear aroudn the column"}
  4898.       open:       = {Txt="&" Typ="X"     Hint="if checked, top and bottom are open"}
  4899.       funnel:     = {Txt="&" Typ="EF002" Hint="if specified, first number is expand factor for top, second for bottom."$0D"e.g. 0 1 for upward pointing cone"}
  4900.       bulge:      = {Txt="&" Typ="EF002" Hint="height, width of bulge, proportional, .5 1=straight"}
  4901.       more: = {
  4902.         Typ="B"
  4903.         Txt="details"
  4904.         Cap="Push"
  4905.         Form="beveldetails:form"
  4906.         Hint="specifics for more detailed control over generation of patches"
  4907.       }
  4908.       macro: = {Txt="&" Typ="ESR" Hint="This one is not for you, Saruman"}
  4909.     }
  4910.     dup brushcap:form =
  4911.     {
  4912.       inverse:   = {Txt="&" Typ="X"   Hint="if checked, concave surface of curve is outer and has texture"}
  4913.       lower:     = {Txt="&" Typ="X"   Hint="if checked, the whole thing is upside-down"}
  4914.       onside:    = {Txt="&" Typ="X"   Hint="if checked, curve goes front-to-back instead of top-to-bottom "}
  4915.       thick:     = {Txt="&" Typ="EF1" Hint="if a nonzero value is given, an enclosed curve with thickness is produced"}
  4916.       inner:     = {Txt="&" Typ="X"   Hint="if checked, inner approximation is used; otherwise outer"}
  4917.       grid:      = {Txt="&" Typ="X"   Hint="if checked, vertex points are forced to grid"}
  4918.       brushsubdivideform = !
  4919.       macro:     = {Txt="&" Typ="ESR" Hint="This one is not for you, Saruman"}
  4920.     }
  4921.     dup brushbevel:form =
  4922.     {
  4923.       inverse:   = {Txt="&" Typ="X"   Hint="if checked, concave surface of curve is outer and has texture"}
  4924.       left:      = {Txt="&" Typ="X"   Hint="if checked, curve goes from back to left side rather than back to right side"}
  4925.       lower:     = {Txt="&" Typ="X"   Hint="if checked, the whole thing is upside-down"}
  4926.       standup:   = {Txt="&" Typ="X"   Hint="if checked, curve goes top-to-bottom instead of front-to-back"}
  4927.       thick:     = {Txt="&" Typ="EF1" Hint="if a nonzero value is given, an enclosed curve with thickness is produced"}
  4928.       inner:     = {Txt="&" Typ="X"   Hint="if checked, inner approximation is used; otherwise outer"}
  4929.       grid:      = {Txt="&" Typ="X"   Hint="if checked, vertex points are forced to grid"}
  4930.       brushsubdivideform = !
  4931.       macro:     = {Txt="&" Typ="ESR" Hint="This one is not for you, Saruman"}
  4932.     }
  4933.     dup brushcolumn:form =
  4934.     {
  4935.       inverse:   = {Txt="&" Typ="X"     Hint="if checked, concave surface of curve is outer and has texture"}
  4936.       brushsubdivideform = !
  4937.       circle:    = {Txt="&" Typ="X" }
  4938.       funnel:    = {Txt="&" Typ="EF002" Hint="if specified, first number is expand factor for top, second for bottom."$0D"e.g. 0 1 for upward pointing cone"}
  4939.       bulge:     = {Txt="&" Typ="EF002" Hint="height, width of bulge, proportional, .5 1=straight"}
  4940.       macro:     = {Txt="&" Typ="ESR"   Hint="This one is not for you, Saruman"}
  4941.     }
  4942.     dup path:form =
  4943.     {
  4944.       target: = {Txt="&" Typ="E"     Hint="should be managed automatically"}
  4945.       squarend: = {Txt="&" Typ="X"     Hint="if checked, path segments have squared, disconnnected ends, rather than joining at `elbows'"}
  4946.       setback:  = {Txt="&" Typ="EF001" Hint="if squarend is checked, this specifies how far back the segment ends are pulled" $0D "back from elbow-joins"}
  4947.       level: = {Txt="&" Typ="X"     Hint="if checked, rotation on two axes won't twist a segment, but also they won't join smoothly."}
  4948.       elbows: =
  4949.        {Txt= "&" Typ="P" Macro="instances" Cap="push" Hint="Push to add an elbow duplicator"}
  4950.     }
  4951.     dup path_point:form =
  4952.     {
  4953.       level: = {Txt="&" Typ="X"      Hint="if checked, following path segment doesn't rotate (may cause non-fitting joins)"}
  4954.       target: = {Txt="&" Typ="E"     Hint="should be managed automatically"}
  4955.       targetname: = {Txt="&" Typ="E" Hint="should be managed automatically"}
  4956. //      linearform = !
  4957.       no instance: = {Txt="&" Typ="X"      Hint="if checked, no instance is generated (instance dup only)"}
  4958.     }
  4959.     dup instance:form =
  4960.     {
  4961.       level: = {Txt="&" Typ="X"     Hint="if checked, rotation on two axes won't twist a segment."}
  4962.       track: =  {Txt="&" Typ="X" Hint="If checked, instances rotate to follow path angles"}
  4963.       target: = {Txt="&" Typ="E" Hint="should be managed automatically"}
  4964.       usercenterform = !
  4965.     }
  4966.     dup stair:form =
  4967.     {
  4968.       steps:      = {Txt="&"            Hint="number of steps in the staircase"}
  4969.       sameheight: = {Txt="&" Typ="X"    Hint="if all steps should have the same height"$0D"or all aligned to the bottom"}
  4970.       oldstyle: =   {Txt="&" Typ="X"    Hint="||if this is checked, then old-style column-stair is generated."$0D"Not recommended, due to overdraw and t-juncts"$0D""$0D"Credits to foo, quakin, plan b and other quake3world editing forum stalwarts."}
  4971.       macro:      = {Txt="&" Typ="ESR"  Hint="This one is not for you, Saruman"}
  4972.     }
  4973.     dup hlinfodecal:form =
  4974.     {
  4975.       Help = "Type your word(s) into the 'text'-specific,"$0D"check that the texture-names exist."
  4976.       text:        = {Txt="&"           Hint="The text to be converted into infodecals" }
  4977.       wildchar:    = {Txt="&"           Hint="A single character in the texture-names, thats replaced by a character from the text-string" }
  4978.       tex_upper:   = {Txt="&" Typ="ET"  Hint="Texture-name of uppercase characters."$0D"Put the 'wildchar'-character in position where it should be replaced by a character from the text-string" }
  4979.       tex_lower:   = {Txt="&" Typ="ET"  Hint="Texture-name of lowercase characters."$0D"Put the 'wildchar'-character in position where it should be replaced by a character from the text-string" }
  4980.       tex_numeric: = {Txt="&" Typ="ET"  Hint="Texture-name of numeric characters."$0D"Put the 'wildchar'-character in position where it should be replaced by a character from the text-string" }
  4981.       macro:       = {Txt="&" Typ="ESR" Hint="This one is not for you, Saruman"}
  4982.     }
  4983.     dup hlradfilemaker:form =
  4984.     {
  4985.       Help = "Set the specific-key to texturename and the arg to RGBV, like this:"
  4986.           $0D"  ~LIGHT5B      255 255 0 300"
  4987.           $0D"  SPOTLIGHT     0 128 255 800"
  4988.        $0D$0D"Or use the 'texture' and 'lighting' specifics-interface;"
  4989.           $0D"Push the [...] to select texture, and push to choose color (remember to"
  4990.           $0D"append the brightness value). Then press the [Apply] button."
  4991.       macro:    = {Typ="ESR" Hint="This one is not for you, Saruman"}
  4992.       filename: = {Typ="C"   Hint="Choose or type the filename" Items="<mapname>.RAD"$0D"LIGHTS.RAD" Values=""$0D"LIGHTS.RAD"}
  4993.       texture:  = {Typ="ET"  Hint="Choose texture. Push the [...] to open the texture-browser."}
  4994.       lighting: = {          Hint="4 values: <Red 0-255> <Green 0-255> <Blue 0-255> <Brightness>"}
  4995.       lighting: = {Typ="L 4" Hint="Choose color. Push to open the color-picker dialog."}
  4996.       apply:    = {Typ="P" Cap="Apply" Txt=" " Macro="hlradfilemaker_apply" Hint="Push to apply the 'texture' and 'lighting' values to the list."}
  4997.     }
  4998.  
  4999.     wall maker:form = {
  5000.       miter: =
  5001.       {
  5002.          Txt="&"
  5003.          Typ="X"
  5004.          Hint="If this is checked, corners will be mitered" $0D " outsides of shapes may need touching up"
  5005.       }
  5006.       extrude: =
  5007.       {
  5008.          Txt="&"
  5009.          Typ="X"
  5010.          Hint="If this is checked, walls will be extruded, but corners will not be mitered;" $0D$ " reshaping will be faster, but corners may have texturing faults and other problems." $0D "If neither this nor mitered is checked,negative polys will be used;" $0D " it is best to avoid them."
  5011.       }
  5012.      solid: =
  5013.       {
  5014.          Txt="&"
  5015.          Typ="X"
  5016.          Hint="If this is checked, brushes are made solid, no wall made." $0D " (simpler processing for quicker editing)"
  5017.       }
  5018.       depth: =
  5019.       {
  5020.          Txt="thickness"
  5021.          Typ="E"
  5022.          Hint="thickness of walls"
  5023.       }
  5024.       caulkhull:=
  5025.       {
  5026.          Txt="caulkhull"
  5027.          Typ="E"
  5028.          Hint="thickness of caulk hull walls"
  5029.       }
  5030.       caulksetback:=
  5031.       {
  5032.          Txt="caulksetback"
  5033.          Typ="E"
  5034.          Hint="distance caulk hull is set back from detail." $0D " should be empty except for special effects"
  5035.       }
  5036.     }
  5037.  
  5038.     dup extruder:form = {
  5039.       tex: =
  5040.       {
  5041.         Txt = "texture"
  5042.         Typ = "ET"      // Edit Texture
  5043.         Hint = "Select the texture you want,"
  5044.             $0D"otherwise the Default texture will be used."
  5045.       }
  5046.       type: =
  5047.       {
  5048.         Txt="&"
  5049.         Typ="CL"
  5050.         Items="hollow"  $0D "solid" $0D "autobox" $0D "patches"
  5051.         Values="t" $0D "b" $0D "ab" $ 0D "p"
  5052.       }
  5053.       edge: =
  5054.       {
  5055.         Txt="&"
  5056.         Typ="EF1"
  5057.         Hint="length of patch-connecting edge in pipe mode"
  5058.       }
  5059.       inverse: =
  5060.       {
  5061.         Txt="&"
  5062.         Typ="X"
  5063.         Hint="If checked, texture shown on outside rather than inside." $0D "  Only meaningful for patch type."
  5064.       }
  5065.       open: =
  5066.       {
  5067.         Txt="&"
  5068.         Typ="X"
  5069.         Hint="If checked, open line rather than closed loop." $0D "  Only meaningful for patch and pipe types."
  5070.       }
  5071.       short: =
  5072.       {
  5073.         Txt="&"
  5074.         Typ="X"
  5075.         Hint="If checked, only the first segment is generated" $0D " (speeds up editing of complex shapes)"
  5076.       }
  5077.  
  5078.  
  5079. //      texture specs: =
  5080. //      {
  5081. //        Typ="B"
  5082. //        Txt="texture"
  5083. //        Cap="Push"
  5084. //        Form="corridor texture:form"
  5085. //        Hint="Texturing specifics"
  5086. //      }
  5087. //      auxiliary specs: =
  5088. //      {
  5089. //        Typ="B"
  5090. //        Txt="auxiliary"
  5091. //        Cap="Push"
  5092. //        Form="corridor auxiliary:form"
  5093. //        Hint="Some extra specs for special functions."
  5094. //      }
  5095.     }
  5096.  
  5097.     arg replacer:form = {
  5098.         Help =  "Put your point-entities and brush-entities under this Arg Replacer,"
  5099.              $0D"you can make groups in groups just like normal, if you want to."
  5100.           $0D$0D"In the spec/arg view of the Arg Replacer, insert keywords you want to be"
  5101.              $0D"replaced with keydata. Something like this:"
  5102.           $0D$0D"  prefix         grp1"
  5103.              $0D"  mylight       400"
  5104.           $0D$0D"and in the entities specs/args that should be replaced with the keydata, do this:"
  5105.           $0D$0D"  targetname     %prefix%_A"
  5106.              $0D"  _light              255 255 255 %mylight%"
  5107.           $0D$0D"Be aware that everything is case-sensitive! 'prefix' is not equal to 'PREFIX'."
  5108.     }
  5109.  
  5110.     QuakeCtx:form =     // form that applies when editing .qctx objects
  5111.     {
  5112.       Style = "3"
  5113.       info: = {Typ="S" Txt=" ---- Description of the game or TC ----"}
  5114.       Game: = {
  5115.         Txt = "Based on game"
  5116.         Typ = "CL"
  5117.         Items = "Quake 1"$0D"Quake 2"$0D"Hexen II"$0D"Heretic II"$0D"Half-Life"$0D"Sin"$0D"KingPin"$0D"SOF"$0D"Quake 3"$0D"STVEF"$0D"Crystal Space"$0D"RTCW"$0D"MOHAA"$0D"JK2"$0D"SoF2"
  5118.         Hint = "the game this TC is based on"
  5119.       }
  5120.       SourceDir: = {
  5121.         Txt = "Source directory"
  5122.         Typ = "EDL" // "EDL" = Editfield-Directorypath-Lastfolderonly
  5123.         Hint = "QuArK will look there for files like textures, 3D models, etc. Must be the name of a subdirectory directly the game path"
  5124.       }
  5125.       GameDir: = {
  5126.         Txt = "Game directory"
  5127.         Typ = "EDL" // "EDL" = Editfield-Directorypath-Lastfolderonly
  5128.         Hint = "QuArK will run the game with this as '-game' or '+set game' command-line parameter"
  5129.       }
  5130.       GetEntitiesBtn: =
  5131.       {
  5132.         Typ = "P"
  5133.         Cap = "Get entities for this game"
  5134.         Macro = "makeaddon"
  5135.       }
  5136.       GetTexturesBtn: =
  5137.       {
  5138.         Typ = "P"
  5139.         Cap = "Get textures for this game"
  5140.         Macro = "makeaddon_tex"
  5141.       }
  5142.     }
  5143.     FormContext:form =
  5144.     {
  5145.       info: = {Typ="S" Txt=" ---- Entity forms ----"}
  5146.       Style = "3"
  5147.     }
  5148.     FormCFG:form =
  5149.     {
  5150.       info1: = {Typ="S" Txt=" ---- General form options ----"}
  5151.       Style = "1"
  5152.       Style: = {
  5153.         Txt = "Style"
  5154.         Typ = "E"
  5155.         Hint = "The forms style"
  5156.       }
  5157.       Help: = {
  5158.         Txt = "Help"
  5159.         Typ = "E"
  5160.         Hint = "The forms help text"
  5161.       }
  5162.       HTML: = {
  5163.         Txt = "HTML Link"
  5164.         Typ = "E"
  5165.         Hint = "The forms help file"
  5166.       }
  5167.       info2: = {Typ="S" Txt=" ---- Point entity specific ----"}
  5168.       bbox: = {
  5169.         Txt = "Bounding Box"
  5170.         Typ = "EF7"
  5171.         Hint = "The entities bounding box"
  5172.       }
  5173.       mdl: = {
  5174.         Txt = "Model"
  5175.         Typ = "E"
  5176.         Hint = "Model to use in 3D view"
  5177.       }
  5178.       mdlbase: = {
  5179.         Txt = "Model Base"
  5180.         Typ = "E"
  5181.         Hint = "Model base path (can be blank)"
  5182.       }
  5183.       mdlframe: = {
  5184.         Txt = "Model Frame"
  5185.         Typ = "E"
  5186.         Hint = "Frame to use for model"
  5187.       }
  5188.       mdlskin: = {
  5189.         Txt = "Model Skin"
  5190.         Typ = "E"
  5191.         Hint = "Skin to use for model"
  5192.       }
  5193.       info3: = {Typ="S" Txt=" ---- Brush entity specific ----"}
  5194.       info4: = {Typ="S" Txt="(none yet)"}
  5195.     }
  5196.     SpecArgForm:form =
  5197.     {
  5198.       info1: = {Typ="S" Txt=" ---- Specific / Argument options ----"}
  5199.       Style = "1"
  5200.       Typ: = {
  5201.         Txt = "Type"
  5202.         Typ = "C"
  5203.         Hint =  "The specifics type:"$0D
  5204.                 "E = Edit"$0D
  5205.                 "E R = Edit - Read Only"$0D
  5206.                 "EF = Edit - Number/Floating Point"$0D
  5207.                 "ED = Edit - Directory"$0D
  5208.                 "ET = Edit - Texture"$0D
  5209.                 "EP = Edit - File"$0D
  5210.                 "EN = Edit - Name"$0D
  5211.                 "EU = Edit - Up/Down Button"$0D
  5212.                 "EQ = Edit - Up/Down/Left/Right Button"$0D
  5213.                 "X  = Checkbox"$0D
  5214.                 "B  = Button"$0D
  5215.                 "P  = Python Button"$0D
  5216.                 "PM = Python Button (Multiple)"$0D
  5217.                 "C  = Combobox"$0D
  5218.                 "S  = Seperator"$0D
  5219.                 "L  = Color"$0D
  5220.                 "LP = Color - Palletized"$0D
  5221.                 "LN = Color - Normalized"$0D
  5222.                 "I  = Image"$0D
  5223.                 "F  = Font"$0D
  5224.                 "K  = Key"
  5225.         Items =   "E"$0D
  5226.                   "ER"$0D
  5227.                   "EF"$0D
  5228.                   "ED"$0D
  5229.                   "ET"$0D
  5230.                   "EP"$0D
  5231.                   "EN"$0D
  5232.                   "EU"$0D
  5233.                   "EQ"$0D
  5234.                   "X"$0D
  5235.                   "B"$0D
  5236.                   "P"$0D
  5237.                   "PM"$0D
  5238.                   "C"$0D
  5239.                   "S"$0D
  5240.                   "L"$0D
  5241.                   "LP"$0D
  5242.                   "LN"$0D
  5243.                   "I"$0D
  5244.                   "F"$0D
  5245.                   "K"
  5246.       }
  5247.       Txt: = {
  5248.         Txt = "Text"
  5249.         Typ = "E"
  5250.         Hint = "The specifics caption"
  5251.       }
  5252.       Hint: = {
  5253.         Txt = "Hint"
  5254.         Typ = "E"
  5255.         Hint = "The specifics help text"
  5256.       }
  5257.       info2: = {Typ="S" Txt=" ---- Combobox (C) specific ----"}
  5258.       Items: = {
  5259.         Txt = "Items"
  5260.         Typ = "E"
  5261.         Hint = "Items in combobox - seperated by $0D"
  5262.       }
  5263.       Values: = {
  5264.         Txt = "Values"
  5265.         Typ = "E"
  5266.         Hint = "Values for items - seperated by $0D"
  5267.       }
  5268.       info2: = {Typ="S" Txt=" ---- Button (B) specific ----"}
  5269.       Form: = {
  5270.         Txt = "Form"
  5271.         Typ = "E"
  5272.         Hint = "Form to open when button is pressed"
  5273.       }
  5274.       info3: = {Typ="S" Txt=" ---- Python Macro Button (P) specific ----"}
  5275.       Macro: = {
  5276.         Txt = "Macro"
  5277.         Typ = "E"
  5278.         Hint = "Macro to call when pressed"
  5279.       }
  5280.       info4: = {Typ="S" Txt=" ---- Python Macro Button (PM) specific ----"}
  5281.       Num: = {
  5282.         Txt = "Count"
  5283.         Typ = "E"
  5284.         Hint = "Number of buttons - Use if 'M' is second character of type"
  5285.       }
  5286.       Caps: = {
  5287.         Txt = "Captions"
  5288.         Typ = "E"
  5289.         Hint = "Caption of button, one character per button - Use if 'M' is second character of type"
  5290.       }
  5291.       Macro: = {
  5292.         Txt = "Macro"
  5293.         Typ = "E"
  5294.         Hint = "Macro to call when pressed"
  5295.       }
  5296.       Hint1: = {
  5297.         Txt = "Hint"
  5298.         Typ = "E"
  5299.         Hint = "Hint for button 1 (add more if necessary - Hint2....Hintx)"
  5300.       }
  5301.       info5: = {Typ="S" Txt=" ---- Checkbox (X) specific ----"}
  5302.       Cap: = {
  5303.         Txt = "Caption"
  5304.         Typ = "E"
  5305.         Hint = "Caption of checkbox"
  5306.       }
  5307.     }
  5308.     ToolBox:form =      // form that applies when editing .qtx objects
  5309.     {
  5310.       Style = "3"
  5311.       info: = {Typ="S" Txt=" ---- Toolbox root object ----"}
  5312.       ToolBox: = {
  5313.         Txt = "Toolbox name"
  5314.         Typ = "E"
  5315.         Hint = "data in this object appears in this toolbox"
  5316.       }
  5317.       sep1: = {Typ="S"}
  5318.       info2: = {Typ="S" Txt="Optional window settings"}
  5319.       pos: = {
  5320.         Typ = "EF4"
  5321.         Txt = "Initial window position"
  5322.         Hint = "only applies the first time the toolbox is opened"
  5323.       }
  5324.       left: = {
  5325.         Typ = "EF1"
  5326.         Txt = "Width of left pane, if any"
  5327.         Hint = "width of the Explorer-like left panel for toolboxes like the texture browser"
  5328.       }
  5329.       color: = {
  5330.         Typ = "LI"
  5331.         Txt = "caption color"
  5332.         Hint = "rightmost gradient caption color (leftmost color is always black for toolboxes)"
  5333.       }
  5334.       sep2: = {Typ="S" Txt = ""}
  5335.       info3: = {Typ="S" Txt="Open the toolbox to edit the content."}
  5336.       root: = {Typ="!"}  // prevents "root" from being displayed at all
  5337.       target: = {Typ="!"}
  5338.     }
  5339.     QrkGroup:form =
  5340.     {
  5341.       Style = "3"
  5342.       caption: = {Typ="E" Txt="Group caption"}
  5343.       btn:py = {
  5344.           macro = "hello"
  5345.       }
  5346.     }
  5347.  
  5348.         CustomBuildPgm:incl = {
  5349.                 Typ="X"
  5350.                 Txt="...execute build-program"
  5351.                 Cap="Yes"
  5352.                 Hint="Make this build-program execute, after the above ones,"
  5353.                   $0D"only if no error have occured in previous build-program."
  5354.                   $0D
  5355.                   $0D"In the game's configuration section (QuArK Explorer->Games->"
  5356.                   $0D"Options), you specify what this build-program is."
  5357.         }
  5358.         CustomBuildArgs:incl = {
  5359.                 Typ="C"
  5360.                 Txt="...additional arguments"
  5361.                 Hint="Put any additional command-line arguments for the"
  5362.                   $0D"build-program here. They will be _additional_ to the"
  5363.                   $0D"fixed arguments, which are specified in the game's"
  5364.                   $0D"configuration section (QuArK Explorer->Games->Options)."
  5365.                   $0D
  5366.                   $0D"Use the following user-variables, which will be automatically"
  5367.                   $0D"replaced at run-time. If at least one of these are used, QuArK"
  5368.                   $0D"will _not_ append a '<path>/<mapfile>' to the command-line arg.,"
  5369.                   $0D"so you better remember to do this yourself."
  5370.                   $0D
  5371.                   $0D"%file%    - Gives the map's path and filename without extension"
  5372.                   $0D"%mappath% - Gives the map's path with ending backslash"
  5373.                   $0D"%mapfile% - Gives the map's path and filename with .MAP extension"
  5374.                   $0D
  5375.                   $0D"Examples:"
  5376.                   $0D"  BSPC.EXE -bps2aas %file%.BSP -output %mappath%"
  5377.                   $0D"  VIS.EXE -fast %file%"
  5378.                   $0D"  QRAD3.EXE -threads 4 %file%"
  5379.         }
  5380.  
  5381.     CustomQuakeMenu:form =    // "customize Quake menu" box
  5382.     {
  5383.       Style = "5" // No-icons, No-extra-spacing
  5384.  
  5385.       sep:           = {Typ="S" Txt="---- Menu Item / Output ----"}
  5386.       Shortcut:      = {Typ="E" Txt="Keyboard shortcut" Hint="Keyboard shortcut as it appears in the menu (recommended: 'Ctrl+letter')"}
  5387.       Pause:         = {Typ="X" Txt="When build has finished..." Cap="Console stay open" Hint="Don't automatically close the console where all build-program's output has been written"}
  5388.       sep:           = {Typ="S" Txt = ""}
  5389.       sep:           = {Typ="S" Txt="---- Before build / After build ----"}
  5390.       ExportMapFile: = {Typ="X" Txt="First..."                  Cap="Export new .MAP file"    Hint=""}
  5391.       Textures:      = {Typ="X" Txt="Then..."                   Cap="Prepare used textures"   Hint="Prepare all textures used in map and write"$0D"them to a place where the build-programs will find them"}
  5392.       RunGame:       = {Typ="X" Txt="After successful build..." Cap[]="Run [::Game] with map" Hint="Run the game when the map has been rebuilt"}
  5393.       sep:           = {Typ="S" Txt = ""}
  5394.       sep:           = {Typ="S" Txt="---- Build Programs Enable/Disable Sequence ----"}
  5395.       sep:           = {Typ="S" Txt[]="1st program '[::BuildPgm1] [::BuildArgs1]'"}
  5396.       BuildPgm1:     = {CustomBuildPgm=!}
  5397.       BuildArgs1:    = {CustomBuildArgs=!}
  5398.       sep:           = {Typ="S" Txt[]="2nd program '[::BuildPgm2] [::BuildArgs2]'"}
  5399.       BuildPgm2:     = {CustomBuildPgm=!}
  5400.       BuildArgs2:    = {CustomBuildArgs=!}
  5401.       sep:           = {Typ="S" Txt[]="3rd program '[::BuildPgm3] [::BuildArgs3]'"}
  5402.       BuildPgm3:     = {CustomBuildPgm=!}
  5403.       BuildArgs3:    = {CustomBuildArgs=!}
  5404.       sep:           = {Typ="S" Txt[]="4th program '[::BuildPgm4] [::BuildArgs4]'"}
  5405.       BuildPgm4:     = {CustomBuildPgm=!}
  5406.       BuildArgs4:    = {CustomBuildArgs=!}
  5407.       sep:           = {Typ="S" Txt[]="5th program '[::BuildPgm5] [::BuildArgs5]'"}
  5408.       BuildPgm5:     = {CustomBuildPgm=!}
  5409.       BuildArgs5:    = {CustomBuildArgs=!}
  5410.       sep:           = {Typ="S" Txt[]="6th program '[::BuildPgm6] [::BuildArgs6]'"}
  5411.       BuildPgm6:     = {CustomBuildPgm=!}
  5412.       BuildArgs6:    = {CustomBuildArgs=!}
  5413.       sep:           = {Typ="S" Txt[]="7th program '[::BuildPgm7] [::BuildArgs7]'"}
  5414.       BuildPgm7:     = {CustomBuildPgm=!}
  5415.       BuildArgs7:    = {CustomBuildArgs=!}
  5416.       sep:           = {Typ="S" Txt[]="8th program '[::BuildPgm8] [::BuildArgs8]'"}
  5417.       BuildPgm8:     = {CustomBuildPgm=!}
  5418.       BuildArgs8:    = {CustomBuildArgs=!}
  5419.       sep:           = {Typ="S" Txt[]="9th program '[::BuildPgm9] [::BuildArgs9]'"}
  5420.       BuildPgm9:     = {CustomBuildPgm=!}
  5421.       BuildArgs9:    = {CustomBuildArgs=!}
  5422.     }
  5423.  
  5424.     CustomQuakeMenuSep:form =    // separator in the Quake menu
  5425.     {
  5426.       Style = "3"
  5427.       sep: = {Typ="S" Txt=" "}    // some space
  5428.       info: = {Typ="S" Txt="This is a separator line in the menu."}
  5429.     }
  5430.     PluginInfo:form =
  5431.     {
  5432.       Style = "2"
  5433.       file: = {
  5434.         Typ = "E R"
  5435.         Txt = "File"
  5436.       }
  5437.       sep: = {
  5438.         Typ="S" Txt = ""
  5439.       }
  5440.       plug-in: = {
  5441.         Typ = "E R"    // Edit Read-only
  5442.         Txt = "Plug-in name"
  5443.       }
  5444.       desc: = {
  5445.         Typ = "M R"    // Memo/Multiline-text Read-only
  5446.         Txt = "Description"
  5447.       }
  5448.       date: = {
  5449.         Typ = "E R"    // Edit Read-only
  5450.         Txt = "Date"
  5451.       }
  5452.       author: = {
  5453.         Typ = "E R"    // Edit Read-only
  5454.         Txt = "Author"
  5455.       }
  5456.       author e-mail: = {
  5457.         Typ = "E R"    // Edit Read-only
  5458.         Txt = "Author e-mail"
  5459.       }
  5460.       quark: = {
  5461.         Typ = "E R"    // Edit Read-only
  5462.         Txt = "Designed for QuArK version"
  5463.       }
  5464.     }
  5465.     Skin:form =     // form on the polyhedrons page
  5466.     {
  5467.       Style = "1"
  5468.       header: = {
  5469.         Typ = "S"
  5470.         Txt = "%s"   // caption text is found in the object put in the form
  5471.         //Bold = "0"
  5472.       }
  5473.       triangles: = {
  5474.         Typ = "E-R"      // edit, read only
  5475.         Txt = "Triangles :"
  5476.         Hint = "The number of triangle this component has|Number of triangles"
  5477.       }
  5478.       ownedby: = {
  5479.         Typ = "E-R"
  5480.         Txt = "Owned by :"
  5481.         Hint = "The 'parent' component in the tree view"
  5482.       }
  5483.     }
  5484.   }
  5485.  
  5486.   NewFiles.qtx =       // ".qtx" : QuArK Tool boX
  5487.   {
  5488.     ToolBox = "New files..."
  5489.     Pos = '0.65 0.2 0.952 0.7'       // default window position
  5490.     Color = $C00080                 // window caption color, Red/Green/Blue
  5491.     Target = ".qrk"                 // items from this toolbox are to be put in ".qrk" files
  5492.  
  5493.     Root = "New File Types.qtxfolder"
  5494.     New File Types.qtxfolder =
  5495.     {
  5496.       Group.qrk =
  5497.       {
  5498.       }
  5499.       Map.qkm =
  5500.       {
  5501.         ;incl = "NewMap"
  5502.       }
  5503.       Model.qkl =
  5504.       {
  5505.         Root = "Model Root:mr"
  5506.         Model Root:mr =
  5507.         {
  5508.           Misc Group:mg =
  5509.           {
  5510.             type = $06
  5511.           }
  5512.           Component:mc =
  5513.           {
  5514.             show = $01
  5515.             Skeleton:bg =
  5516.             {
  5517.               type = $05
  5518.             }
  5519.             Skins:sg =
  5520.             {
  5521.               type = $02
  5522.               Skin0.pcx =
  5523.               {
  5524.                 ;incl = "EmptyImage"
  5525.               }
  5526.             }
  5527.             Frames:fg =
  5528.             {
  5529.               type = $01
  5530.             }
  5531.           }
  5532.         }
  5533.       }
  5534.       Pak.pak = { }
  5535.       ZIP Archive.zip = { }
  5536.       PCX Image.pcx = { ;incl = "EmptyImage" }
  5537.       TGA Image.tga = { ;incl = "EmptyImage" }
  5538.       JPEG Image.jpg = { ;incl = "EmptyImage" }
  5539.       Windows Bitmap Image.bmp = { ;incl = "EmptyImage" }
  5540.       Text.txt = { }
  5541.       Configuration file.cfg = { }
  5542.       Sound.wav = { }
  5543.       Files for the game.import = { }
  5544. //      Quake Context.qctx = { }
  5545.       Game Context.qctx = { } // See also 'QuakeCtx:form'
  5546.       Advanced Editing.qtxfolder =
  5547.       {
  5548.         Form Context.fctx = { }
  5549.         Form:form = { }
  5550.         Element: = { }
  5551.       }
  5552.     }
  5553.   }
  5554.  
  5555.  
  5556.   NewMapItems.qtx =
  5557.   {
  5558.     ToolBox = "New map items..."
  5559.     Pos = '0.2 0.15 0.8 0.85'
  5560.     Color = $80FF80
  5561.     Target = ".qkm"                 // ".qkm" : QuArK Map
  5562.     Root = "New Polyhedrons.qtxfolder"   // needed only in ".qtx" objects when you actually want it to add a root in the toolbox (i.e. almost always)
  5563.  
  5564.     t_shapebuilder_cube:incl =
  5565.     {
  5566.       cube:p =
  5567.       {
  5568.         ;desc = "cube to put in the map and then resize and reshape"
  5569.         right:f = { v = '64 0 0 64 128 0 64 0 128' tex = "[auto]" }
  5570.         left:f  = { v = '-64 0 0 -64 0 128 -64 128 0' tex = "[auto]" m = "1" }
  5571.         back:f  = { v = '0 64 0 0 64 128 128 64 0' tex = "[auto]" m = "1" }
  5572.         front:f = { v = '0 -64 0 128 -64 0 0 -64 128' tex = "[auto]" }
  5573.         up:f    = { v = '0 0 64 128 0 64 0 128 64' tex = "[auto]" }
  5574.         down:f  = { v = '0 0 -64 0 128 -64 128 0 -64' tex = "[auto]" m = "1" }
  5575.       }
  5576.     }
  5577.  
  5578.     New Polyhedrons.qtxfolder =
  5579.     {
  5580.       Basic polyhedrons.qtxfolder =
  5581.       {
  5582.         cube:p =
  5583.         {
  5584.           ;desc = "cube to put in the map and then resize and reshape"
  5585.           east:f  = { v = '64 0 0 64 128 0 64 0 128' tex = "[auto]" }
  5586.           west:f  = { v = '-64 0 0 -64 0 128 -64 128 0' tex = "[auto]" m = "1" }
  5587.           north:f = { v = '0 64 0 0 64 128 128 64 0' tex = "[auto]" m = "1" }
  5588.           south:f = { v = '0 -64 0 128 -64 0 0 -64 128' tex = "[auto]" }
  5589.           up:f    = { v = '0 0 64 128 0 64 0 128 64' tex = "[auto]" }
  5590.           down:f  = { v = '0 0 -64 0 128 -64 128 0 -64' tex = "[auto]" m = "1" }
  5591.         }
  5592.         platform:p =
  5593.         {
  5594.           ;desc = "a flat cube for ground and ceiling"
  5595.           face:f = { v = '-128 0 -32 -128 0 96 -128 128 -32' tex = "[auto]" m = "1" }
  5596.           face:f = { v = '128 0 -32 128 128 -32 128 0 96' tex = "[auto]" }
  5597.           face:f = { v = '0 -128 -32 128 -128 -32 0 -128 96' tex = "[auto]" }
  5598.           face:f = { v = '0 128 -32 0 128 96 128 128 -32' tex = "[auto]" m = "1" }
  5599.           face:f = { v = '0 0 -32 0 128 -32 128 0 -32' tex = "[auto]" m = "1" }
  5600.           face:f = { v = '0 0 -16 128 0 -16 0 128 -16' tex = "[auto]" }
  5601.         }
  5602.         wall:p =
  5603.         {
  5604.           ;desc = "a vertical wall in the X direction"
  5605.           face:f = { v = '-128 0 0 -128 0 128 -128 128 0' tex = "[auto]" m = "1" }
  5606.           face:f = { v = '128 0 0 128 128 0 128 0 128' tex = "[auto]" }
  5607.           face:f = { v = '0 0 0 128 0 0 0 0 128' tex = "[auto]" }
  5608.           face:f = { v = '0 16 0 0 16 128 128 16 0' tex = "[auto]" m = "1" }
  5609.           face:f = { v = '0 0 -128 0 128 -128 128 0 -128' tex = "[auto]" m = "1" }
  5610.           face:f = { v = '0 0 128 128 0 128 0 128 128' tex = "[auto]" }
  5611.         }
  5612.         wall:p =
  5613.         {
  5614.           ;desc = "a vertical wall in the Y direction"
  5615.           face:f = { v = '0 0 0 0 0 128 0 128 0' tex = "[auto]" m = "1" }
  5616.           face:f = { v = '16 0 0 16 128 0 16 0 128' tex = "[auto]" }
  5617.           face:f = { v = '0 -128 0 128 -128 0 0 -128 128' tex = "[auto]" }
  5618.           face:f = { v = '0 128 0 0 128 128 128 128 0' tex = "[auto]" m = "1" }
  5619.           face:f = { v = '0 0 -128 0 128 -128 128 0 -128' tex = "[auto]" m = "1" }
  5620.           face:f = { v = '0 0 128 128 0 128 0 128 128' tex = "[auto]" }
  5621.         }
  5622.         wedge:p =
  5623.         {
  5624.           fixedscale = "1"
  5625.           face:f =
  5626.           {
  5627.             v = '-5.63757 -26.12108 32 -5.63757 -154.12110 32 124.89730 -26.12108 32'
  5628.             tex = "e1u1/grass1_4"
  5629.             Contents = "0"
  5630.             Flags = "0"
  5631.             Value = "0"
  5632.           }
  5633.           face:f =
  5634.           {
  5635.             v = '-0.32341 -64.52548 -32 -0.32341 63.47453 -32 127.67660 -64.52548 -32'
  5636.             tex = "e1u1/grass1_4"
  5637.             Contents = "0"
  5638.             Flags = "0"
  5639.             Value = "0"
  5640.             m = "1"
  5641.           }
  5642.           face:f =
  5643.           {
  5644.             v = '63.57658 -64.00017 -64.39999 63.57658 -63.99950 63.60001 -64.42342 -64.00051 -64.39999'
  5645.             tex = "e1u1/grass1_4"
  5646.             Contents = "0"
  5647.             Flags = "0"
  5648.             Value = "0"
  5649.             m = "1"
  5650.           }
  5651.           face:f =
  5652.           {
  5653.             v = '86.17815 -86.22846 -0.00002 18.29591 -18.34623 -0.00002 86.07752 -86.32910 127.99990'
  5654.             tex = "e1u1/grass1_4"
  5655.             Contents = "0"
  5656.             Flags = "0"
  5657.             Value = "0"
  5658.           }
  5659.           face:f =
  5660.           {
  5661.             v = '-64 -63.57516 0 -64 -63.57516 128 -64 64.42484 0'
  5662.             tex = "e1u1/grass1_4"
  5663.             Contents = "0"
  5664.             Flags = "0"
  5665.             Value = "0"
  5666.             m = "1"
  5667.           }
  5668.         }
  5669.       }
  5670.       Complex polyhedrons.qtxfolder =
  5671.       {
  5672.         prism, 6 sides:p =
  5673.         {
  5674.           ;desc = "a prism with a hexagonal base"
  5675.           face:f = { v = '-0.00001 -128.00000 0 128 -128.00000 0 -0.00001 -128.00000 128' tex = "[auto]" }
  5676.           face:f = { v = '-0.00001 128.00000 0 -0.00001 128.00000 128 128 128.00000 0' tex = "[auto]" m = "1" }
  5677.           face:f = { v = '-0.00001 -0.00002 -128 -0.00001 128.00000 -128 128 -0.00002 -128' tex = "[auto]" m = "1" }
  5678.           face:f = { v = '-0.00001 -0.00002 128 128 -0.00002 128 -0.00001 128.00000 128' tex = "[auto]" }
  5679.           face:f = { v = '147.80160 -0.00002 0 221.70250 128.00000 0 147.80160 -0.00002 128' tex = "[auto]" }
  5680.           face:f = { v = '-147.80170 -0.00002 0 -147.80170 -0.00002 128 -73.90089 128.00000 0' tex = "[auto]" m = "1" }
  5681.           face:f = { v = '147.80170 -0.00002 0 73.90087 128.00000 0 147.80170 -0.00002 128' tex = "[auto]" }
  5682.           face:f = { v = '-147.80170 -0.00002 0 -147.80170 -0.00002 128 -221.70250 128.00000 0' tex = "[auto]" m = "1" }
  5683.         }
  5684.         prism, 8 sides:p =
  5685.         {
  5686.           ;desc = "a prism with an octogonal base"
  5687.           face:f = { v = '-181.01930 0 0 -181.01930 0 128 -309.01930 128.00000 0' tex = "[auto]" m = "1" }
  5688.           face:f = { v = '181.01920 0 0 53.01929 128.00000 0 181.01920 0 128' tex = "[auto]" }
  5689.           face:f = { v = '789.01930 608 0 917.01930 736 0 789.01930 608 128' tex = "[auto]" }
  5690.           face:f = { v = '426.98070 608 0 426.98070 608 128 554.98070 736 0' tex = "[auto]" m = "1" }
  5691.           face:f = { v = '0 0 -128 0 128.00000 -128 128 0 -128' tex = "[auto]" m = "1" }
  5692.           face:f = { v = '0 0 128 128 0 128 0 128.00000 128' tex = "[auto]" }
  5693.           face:f = { v = '-128 0 0 -128 0 128 -128 128.00000 0' tex = "[auto]" m = "1" }
  5694.           face:f = { v = '128 0 0 128 128.00000 0 128 0 128' tex = "[auto]" }
  5695.           face:f = { v = '0 -128 0 128 -128 0 0 -128 128' tex = "[auto]" }
  5696.           face:f = { v = '0 128.00000 0 0 128.00000 128 128 128.00000 0' tex = "[auto]" m = "1" }
  5697.         }
  5698.         prism, 10 sides:p =
  5699.         {
  5700.           ;desc = "a prism with a decagonal base"
  5701.           face:f = { v = '0.00002 -128 0 128.00000 -128 0 0.00002 -128 128' tex = "[auto]" }
  5702.           face:f = { v = '0.00002 128 0 0.00002 128 128 128.00000 128 0' tex = "[auto]" m = "1" }
  5703.           face:f = { v = '0.00002 0 -128 0.00002 128 -128 128.00000 0 -128' tex = "[auto]" m = "1" }
  5704.           face:f = { v = '0.00002 0 128 128.00000 0 128 0.00002 128 128' tex = "[auto]" }
  5705.           face:f = { v = '0.00002 158.21670 0 0.00002 158.21670 128 128.00000 251.21410 0' tex = "[auto]" m = "1" }
  5706.           face:f = { v = '0.00002 -158.21670 0 128.00000 -65.21923 0 0.00002 -158.21670 128' tex = "[auto]" }
  5707.           face:f = { v = '-134.58710 0 0 -134.58710 0 128 -92.99741 128 0' tex = "[auto]" m = "1" }
  5708.           face:f = { v = '134.58710 0 0 176.17680 128 0 134.58710 0 128' tex = "[auto]" }
  5709.           face:f = { v = '134.58720 0 0 92.99746 128 0 134.58720 0 128' tex = "[auto]" }
  5710.           face:f = { v = '-134.58710 0 0 -134.58710 0 128 -176.17680 128 0' tex = "[auto]" m = "1" }
  5711.           face:f = { v = '0.00002 158.21670 0 0.00002 158.21670 128 128.00000 65.21912 0' tex = "[auto]" m = "1" }
  5712.           face:f = { v = '0.00002 -158.21670 0 128.00000 -251.21410 0 0.00002 -158.21670 128' tex = "[auto]" }
  5713.         }
  5714.         cuboctahedron:p =
  5715.         {
  5716.           ;desc = "a kind of cube with cut corners"
  5717.           face:f = { v = '-64 0 0 -64 0 128 -64 128 0' tex = "[auto]" m = "1" }
  5718.           face:f = { v = '64 0 0 64 128 0 64 0 128' tex = "[auto]" }
  5719.           face:f = { v = '0 -64 0 128 -64 0 0 -64 128' tex = "[auto]" }
  5720.           face:f = { v = '0 64 0 0 64 128 128 64 0' tex = "[auto]" m = "1" }
  5721.           face:f = { v = '0 0 -64 0 128 -64 128 0 -64' tex = "[auto]" m = "1" }
  5722.           face:f = { v = '0 0 64 128 0 64 0 128 64' tex = "[auto]" }
  5723.           face:f = { v = '0 -1248 1376 128 -1248 1248 0 -1120 1248' tex = "[auto]" }
  5724.           face:f = { v = '0 -1248 -1120 128 -1248 -1248 0 -1120 -992' tex = "[auto]" }
  5725.           face:f = { v = '0 -1248 -1120 128 -1248 -992 0 -1120 -992' tex = "[auto]" }
  5726.           face:f = { v = '0 -1248 1376 128 -1248 1504 0 -1120 1248' tex = "[auto]" }
  5727.           face:f = { v = '0 -1248 -1376 0 -1120 -1248 128 -1248 -1504' tex = "[auto]" m = "1" }
  5728.           face:f = { v = '0 -1248 -1376 0 -1120 -1248 128 -1248 -1248' tex = "[auto]" m = "1" }
  5729.           face:f = { v = '0 -1248 1120 0 -1120 992 128 -1248 1248' tex = "[auto]" m = "1" }
  5730.           face:f = { v = '0 -1248 1120 0 -1120 992 128 -1248 992' tex = "[auto]" m = "1" }
  5731.         }
  5732.         rombobicuboctahedron:p =
  5733.         {
  5734.           ;desc = "a rough sphere"
  5735.           face:f = { v = '-136 0 -0.00001 -136 0 128.00000 -136 128 -0.00001' tex = "[auto]" m = "1" }
  5736.           face:f = { v = '136 0 -0.00001 136 128 -0.00001 136 0 128.00000' tex = "[auto]" }
  5737.           face:f = { v = '0 -136 -0.00001 128 -136 -0.00001 0 -136 128.00000' tex = "[auto]" }
  5738.           face:f = { v = '0 136 -0.00001 0 136 128.00000 128 136 -0.00001' tex = "[auto]" m = "1" }
  5739.           face:f = { v = '0 0 -136.00000 0 128 -136.00000 128 0 -136.00000' tex = "[auto]" m = "1" }
  5740.           face:f = { v = '0 0 136.00000 128 0 136.00000 0 128 136.00000' tex = "[auto]" }
  5741.           face:f = { v = '0 247.45350 -0.00001 0 120.70240 128.00000 128 119.45350 -0.00001' tex = "[auto]" m = "1" }
  5742.           face:f = { v = '0 247.45360 -0.00001 0 120.70250 128.00000 128 375.45360 -0.00001' tex = "[auto]" m = "1" }
  5743.           face:f = { v = '-247.45360 0 -0.00001 -120.70250 0 128.00000 -375.45370 128 -0.00001' tex = "[auto]" m = "1" }
  5744.           face:f = { v = '535.45360 288 -0.00001 663.45360 416 -0.00001 408.70250 288 128.00000' tex = "[auto]" }
  5745.           face:f = { v = '535.45360 288 -0.00001 663.45360 416 -0.00001 662.20470 288 128.00000' tex = "[auto]" }
  5746.           face:f = { v = '40.54627 288 -0.00001 -86.20483 288 128.00000 168.54630 416 -0.00001' tex = "[auto]" m = "1" }
  5747.           face:f = { v = '-247.45370 0 -0.00001 -374.20480 0 128.00000 -375.45370 128 -0.00001' tex = "[auto]" m = "1" }
  5748.           face:f = { v = '-288 -1024 480 -160 -1024 352 -288 -896 480' tex = "[auto]" }
  5749.           face:f = { v = '0 -1024 1216 128 -1024 1216 0 -896 1088' tex = "[auto]" }
  5750.           face:f = { v = '0 0 192.00000 128 0 320 0 128 192.00000' tex = "[auto]" }
  5751.           face:f = { v = '0 0 192.00000 128 0 192.00000 0 128 320' tex = "[auto]" }
  5752.           face:f = { v = '-480 288 -0.00001 -480 288 128.00000 -608 416 -0.00001' tex = "[auto]" m = "1" }
  5753.           face:f = { v = '480 288 -0.00001 608 416 -0.00001 480 288 128.00000' tex = "[auto]" }
  5754.           face:f = { v = '-96 288 -0.00001 -224 416 -0.00001 -96 288 128.00000' tex = "[auto]" }
  5755.           face:f = { v = '96 288 -0.00001 96 288 128.00000 224 416 -0.00001' tex = "[auto]" m = "1" }
  5756.           face:f = { v = '-288 -1024 95.99998 -288 -896 95.99998 -160 -1024 -32.00002' tex = "[auto]" m = "1" }
  5757.           face:f = { v = '0 -1024 832 0 -896 704 128 -1024 832' tex = "[auto]" m = "1" }
  5758.           face:f = { v = '-288 -1024 -480 -288 -896 -480 -160 -1024 -352' tex = "[auto]" m = "1" }
  5759.           face:f = { v = '0 -1024 -1216 0 -896 -1088 128 -1024 -1216' tex = "[auto]" m = "1" }
  5760.           face:f = { v = '-288 535.45350 -0.00001 -288 662.20460 128.00000 -160 407.45360 -0.00001' tex = "[auto]" m = "1" }
  5761.         }
  5762.         cone, 8 sides:p =
  5763.         {
  5764.           ;desc = "a cone with an octogonal base"
  5765.           face:f = { v = '-480.00020 375.48830 -25.59972 -352.00020 247.48830 -25.59972 -480.00020 479.99990 102.40030' tex = "[auto]" }
  5766.           face:f = { v = '-480.00020 584.51160 -25.59972 -480.00020 480.00000 102.40030 -352.00020 456.51170 -25.59972' tex = "[auto]" m = "1" }
  5767.           face:f = { v = '584.51110 479.99980 -25.59972 712.51110 607.99980 -25.59972 479.99960 479.99980 102.40030' tex = "[auto]" }
  5768.           face:f = { v = '-0.00015 104.51130 -25.59972 -0.00015 -0.00034 102.40030 127.99980 232.51130 -25.59972' tex = "[auto]" m = "1" }
  5769.           face:f = { v = '-0.00015 -0.00021 -25.59972 -0.00015 127.99980 -25.59972 127.99980 -0.00021 -25.59972' tex = "[auto]" m = "1" }
  5770.           face:f = { v = '-73.90103 -0.00021 -25.59972 -0.00015 -0.00021 102.40030 -73.90103 127.99980 -25.59972' tex = "[auto]" m = "1" }
  5771.           face:f = { v = '73.90060 -0.00021 -25.59972 73.90060 127.99980 -25.59972 -0.00015 -0.00021 102.40030' tex = "[auto]" }
  5772.           face:f = { v = '-0.00015 -73.90097 -25.59972 127.99980 -73.90097 -25.59972 -0.00015 -0.00021 102.40030' tex = "[auto]" }
  5773.           face:f = { v = '-0.00015 73.90067 -25.59972 -0.00015 -0.00021 102.40030 127.99980 73.90067 -25.59972' tex = "[auto]" m = "1" }
  5774.         }
  5775.       }
  5776.       Duplicators & misc.qtxfolder =
  5777.       {
  5778.         Basic Duplicator:d =
  5779.         {
  5780.           ;desc = "basic duplicator, to make several copies of an object"
  5781.           origin = "0 0 0"
  5782.           offset = "32 32 0"
  5783.           count = "5"
  5784.           angle = ""
  5785.           out = "1"
  5786.           macro = "dup basic"
  5787.         }
  5788.         Copy One:d =
  5789.         {
  5790.           ;desc = "this version makes just one copy that you can move elsewhere"
  5791.           origin = "0 0 0"
  5792.           offset = "64 64 0"
  5793.           angle = ""
  5794.           out = "1"
  5795.           macro = "dup basic"
  5796.         }
  5797.         New Copy One:d =
  5798.         {
  5799.           ;desc = "experimental enhanced version, image is located at dup origin, and more"
  5800.           origin = "64 64 0"
  5801.           offset = "0 0 0"
  5802.           out = "1"
  5803.           offset dup = "1"
  5804.           macro = "dup lin"
  5805.         }
  5806.         Linear Duplicator:d =
  5807.         {
  5808.           ;desc = "enhanced version : can apply linear mappings (mirror, zoom, etc)"
  5809.           origin = "0 0 0"
  5810.           offset = "32 32 0"
  5811.           count = "3"
  5812.           out = "1"
  5813.           item center = "1"
  5814.           linear = "1 0 0 0 1 0 0 0 1"
  5815.           macro = "dup lin"
  5816.         }
  5817.         Mirror X:d =
  5818.         {
  5819.           ;desc = "X-axis mirror"
  5820.           out = "1"
  5821.           origin = "0 0 0"
  5822.           macro = "dup symx"
  5823.         }
  5824.         Mirror Y:d =
  5825.         {
  5826.           ;desc = "Y-axis mirror"
  5827.           out = "1"
  5828.           origin = "0 0 0"
  5829.           macro = "dup symy"
  5830.         }
  5831.         Mirror Z:d =
  5832.         {
  5833.           ;desc = "Z-axis mirror"
  5834.           out = "1"
  5835.           origin = "0 0 0"
  5836.           macro = "dup symz"
  5837.         }
  5838.         Mirror XYZ:d =
  5839.         {
  5840.           ;desc = "XYZ-axes toggleable mirror"
  5841.           out = "1"
  5842.           origin = "0 0 0"
  5843.           x = "X"
  5844.           macro = "dup symxyz"
  5845.         }
  5846.         Mirror XY:d =
  5847.         {
  5848.           ;desc = "X- and Y-axis mirrors (one original and three images)"
  5849.           out = "1"
  5850.           origin = "0 0 0"
  5851.           macro = "dup symxy"
  5852.         }
  5853.         Radial:d =
  5854.         {
  5855.           ;desc = "Copies around an axis"
  5856.           origin = "0 0 0"
  5857.           count = "2"
  5858.           around = '180'
  5859.           spiral = '0 0'
  5860.           axis = '0 0 1'
  5861.           macro = "dup radial"
  5862.   new cube:p =
  5863.   {
  5864.     east:f =
  5865.     {
  5866.       v = '192 0 0 192 128 0 192 0 128'
  5867.       tex = "[auto]"
  5868.     }
  5869.     west:f =
  5870.     {
  5871.       v = '64 0 0 64 -128 0 64 0 128'
  5872.       tex = "[auto]"
  5873.     }
  5874.     north:f =
  5875.     {
  5876.       v = '128 64 0 0 64 0 128 64 128'
  5877.       tex = "[auto]"
  5878.     }
  5879.     south:f =
  5880.     {
  5881.       v = '128 -64 0 256 -64 0 128 -64 128'
  5882.       tex = "[auto]"
  5883.     }
  5884.     up:f =
  5885.     {
  5886.       v = '128 0 64 256 0 64 128 128 64'
  5887.       tex = "[auto]"
  5888.     }
  5889.     down:f =
  5890.     {
  5891.       v = '128 0 -64 256 0 -64 128 -128 -64'
  5892.       tex = "[auto]"
  5893.     }
  5894.   }
  5895.  
  5896.         }
  5897.         Digger:d =
  5898.         {
  5899.           ;desc = "polyhedrons inside are 'negative' and dig the map"
  5900.           ;incl = "defpoly"
  5901.           macro = "digger"
  5902.         }
  5903.         Hollow Maker:d =
  5904.         {
  5905.           ;desc = "polyhedrons inside are automatically made hollow"
  5906.           ;incl = "defpoly"
  5907.           macro = "hollow maker"
  5908.           depth = "8"
  5909.         }
  5910.         Wall Maker:d =
  5911.         {
  5912.           ;desc = "build walls based on a polyhedron shape"
  5913.           ;incl = "defpoly"
  5914.           macro = "wall maker"
  5915.           depth = "8"
  5916.         }
  5917. //  UserCenterHandle stuff better, methinks
  5918. //        Origin Duplicator:d =
  5919. //        {
  5920. //          ;desc = "a center point for various kinds of groups"
  5921. //           origin        = "0 0 0"
  5922. //           macro = "dup origin"
  5923. //        }
  5924.         Path Duplicator:g =
  5925.         {
  5926.           ;desc = "corridor maker, easy creation of connected corridors"
  5927.           Path Duplicator:d =
  5928.           {
  5929.             origin        = "0 0 0"
  5930.             macro         = "dup path"
  5931.             target        = "dpath1"
  5932.             speeddraw     = "0"
  5933.             scaletexture  = "0"
  5934.             Template:g =
  5935.             {
  5936.               cube:p =
  5937.               {
  5938.                 east:f  = { v = ' 64   0   0   64 128   0   64   0 128' tex = "[auto]" }
  5939.                 west:f  = { v = '-64   0   0  -64   0 128  -64 128   0' tex = "[auto]" m = "1" }
  5940.                 north:f = { v = '  0  64   0    0  64 128  128  64   0' tex = "[auto]" m = "1" }
  5941.                 south:f = { v = '  0 -64   0  128 -64   0    0 -64 128' tex = "[auto]" }
  5942.                 up:f    = { v = '  0   0  64  128   0  64    0 128  64' tex = "[auto]" }
  5943.                 down:f  = { v = '  0   0 -64    0 128 -64  128   0 -64' tex = "[auto]" m = "1" }
  5944.               }
  5945.               cube:p =
  5946.               {
  5947.                 neg = "1"
  5948.                 east:f  = { v = ' 64   0   0   64 128   0   64   0 128' tex = "[auto]" }
  5949.                 west:f  = { v = '-64   0   0  -64   0 128  -64 128   0' tex = "[auto]" m = "1" }
  5950.                 north:f = { v = '  0  32   0    0  32 128  128  32   0' tex = "[auto]" m = "1" }
  5951.                 south:f = { v = '  0 -32   0  128 -32   0    0 -32 128' tex = "[auto]" }
  5952.                 up:f    = { v = '  0   0  32  128   0  32    0 128  32' tex = "[auto]" }
  5953.                 down:f  = { v = '  0   0 -32    0 128 -32  128   0 -32' tex = "[auto]" m = "1" }
  5954.               }
  5955.             }
  5956.           }
  5957.           PathDup.Point:d =
  5958.           {
  5959.             macro       = "dup path_point"
  5960.             origin      = "96 96 0"
  5961.             targetname  = "dpath1"
  5962.             target      = "dpath2"
  5963.             level       = "1"
  5964.           }
  5965.           PathDup.Point:d =
  5966.           {
  5967.             macro       = "dup path_point"
  5968.             origin      = "192 96 0"
  5969.             targetname  = "dpath2"
  5970.             target      = "dpath3"
  5971.           }
  5972.           PathDup.Point:d =
  5973.           {
  5974.             macro       = "dup path_point"
  5975.             origin      = "192 192 0"
  5976.             targetname  = "dpath3"
  5977.             target      = "dpathX"
  5978.           }
  5979.         }
  5980. //        Instance Duplicator:g =
  5981. //        {
  5982. //          ;desc = "Multiple instances at chosen places, with linear transformation"
  5983. //          Instance Duplicator:d =
  5984. //          {
  5985. //            origin        = "0 0 0"
  5986. //            macro         = "dup instance"
  5987. //            target        = "dpath1"
  5988. ////            speeddraw     = "0"
  5989. ////            scaletexture  = "0"
  5990. //            Template:g =
  5991. //            {
  5992. //              cube:p =
  5993. //              {
  5994. //                east:f  = { v = ' 64   0   0   64 128   0   64   0 128' tex = "[auto]" }
  5995. //                west:f  = { v = '-64   0   0  -64   0 128  -64 128   0' tex = "[auto]" m = "1" }
  5996. //                north:f = { v = '  0  64   0    0  64 128  128  64   0' tex = "[auto]" m = "1" }
  5997. //                south:f = { v = '  0 -64   0  128 -64   0    0 -64 128' tex = "[auto]" }
  5998. //                up:f    = { v = '  0   0  64  128   0  64    0 128  64' tex = "[auto]" }
  5999. //                down:f  = { v = '  0   0 -64    0 128 -64  128   0 -64' tex = "[auto]" m = "1" }
  6000. //              }
  6001. //            }
  6002. //          }
  6003. //          PathDup.Point:d =
  6004. //          {
  6005. //            macro       = "dup path_point"
  6006. //            origin      = "160 160 0"
  6007. //            targetname  = "dpath1"
  6008. //            target      = "dpath2"
  6009. //          }
  6010. //          PathDup.Point:d =
  6011. //          {
  6012. //            macro       = "dup path_point"
  6013. //            origin      = "160 320 0"
  6014. //            targetname  = "dpath2"
  6015. //            target      = "dpathX"
  6016. //          }
  6017. //        }
  6018.         Extruder:d = {
  6019.           origin = "0 0 0"
  6020. //          axis = '1 0 0'
  6021.           side = '0 -1 0'
  6022.           edge = '8'
  6023.           type = "t"
  6024.           circ_show = "1"
  6025.           tex = "[auto]"
  6026.           _closed = "1"
  6027.           macro =  "dup extruder"
  6028.           spine:g =
  6029.           {
  6030.             rib:g = {
  6031.               point:g = {where = '64 -64'}
  6032.               point:g = {where = '64 64'}
  6033.               point:g = {where = '-64 64'}
  6034.               point:g = {where = '-64 -64'}
  6035. //              point:g = {where = '0 32'}
  6036. //              point:g = {where = '90 32'}
  6037. //              point:g = {where = '180 32'}
  6038. //              point:g = {where = '270 32'}
  6039.             }
  6040.             rib:g = {
  6041.               location = '96 0 0'
  6042.             }
  6043.           }
  6044.         }
  6045.         ArgReplacer:d = {
  6046.       ;desc = "Arg Replacer : Search and Replaces %keyword% in spec/args"
  6047.           macro = "arg replacer"
  6048.         }
  6049.       }
  6050.       Shape Builders.qtxfolder =
  6051.       {
  6052.         Brush Arch/Cap Maker:d =
  6053.         {
  6054.           ;desc = "build a brush-based arch or cap from a cubic polyhedron shape"
  6055.           macro = "dup brushcap"
  6056.           inverse = "1"
  6057.           subdivide = '2'
  6058.           t_shapebuilder_cube = !
  6059.         }
  6060.         Brush Bevel Maker:d =
  6061.         {
  6062.           ;desc = "build brush-based bevel-corner from a cubic polyhedron shape"
  6063.           macro = "dup brushbevel"
  6064.           inverse = "1"
  6065.           subdivide = '2'
  6066.           left = "1"
  6067.           open = "1"
  6068.           t_shapebuilder_cube = !
  6069.         }
  6070.       //Brush Column Maker:d =
  6071.       //{
  6072.       //  ;desc = "build brush-based column from a cubic polyhedron shape"
  6073.       //  macro = "dup brushcolumn"
  6074.       //  open = "1"
  6075.       //  t_shapebuilder_cube = !
  6076.       //}
  6077.         Staircase Maker:d =
  6078.         {
  6079.           ;desc = "build a staircase from a cubic polyhedron shape"
  6080.           macro = "dup stair"
  6081.           steps = "8"
  6082.           sameheight = ""
  6083.           oldstyle = ""
  6084.           t_shapebuilder_cube = !
  6085.         }
  6086.       }
  6087.       Game specific.qtxfolder =
  6088.       {
  6089.         Half-Life infodecal Helper:d =
  6090.         {
  6091.           ;desc = "Write words and sentences using infodecals"
  6092.           text = "HALFLIFE"
  6093.           wildchar = "@"
  6094.           tex_upper = "{CAPS@"
  6095.           tex_lower = " "
  6096.           tex_numeric = "{MED#S@"
  6097.           origin = "0 0 0"
  6098.           offset = "12 0 0"
  6099.           macro = "dup hlinfodecal"
  6100.         }
  6101.         Half-Life .RAD File Maker:d =
  6102.         {
  6103.           ;desc = "Helps you store texture lighting values (LIGHTS.RAD or <mapname>.RAD)"
  6104.           macro = "dup hlradfilemaker"
  6105.         }
  6106.       }
  6107.       Tools.qtxfolder =
  6108.       {
  6109.         plane duplicator:d = {
  6110.           ;desc = "'duplicator' for making a 3 ponit plane"
  6111.           P1 = '0 64 0'
  6112.           P2 = '64 -64 0'
  6113.           P3 = '-64 -64 0'
  6114.           macro = "dup plane"
  6115.         }
  6116.       }
  6117.     }
  6118.   }
  6119.  
  6120.   Textures.qtx =
  6121.   {
  6122.     ToolBox = "Texture Browser..."
  6123.     Pos = "max"
  6124.     Color = $704000      // Red/Green/Blue
  6125.     Target = ".qkm"      // textures are also to be put in maps
  6126.     Left = '140'         // size of the Explorer at the left (the right space displays the selected objects)
  6127.     Root = "Searched.qtxfolder"
  6128.     Searched.qtxfolder =
  6129.     {
  6130.       SearchBox = "1"
  6131.       Searched Texures.txlist =
  6132.       {
  6133.       }
  6134.     }
  6135.   }
  6136. //  Map Specifics display.qctx =
  6137. //  {
  6138. //    DrawMap: =
  6139. //    {
  6140. //      Spec = "target"
  6141. //      find: =
  6142. //      {
  6143. //        Spec = "targetname"
  6144. //        Arg[] = "[~target]"
  6145. //        Arrow: = {from[]="[~origin]" to[][]="[<[~origin]>]"}
  6146. //      }
  6147. //    }
  6148. //    DrawMap: =
  6149. //    {
  6150. //      Spec = "targetname"
  6151. //      find: =
  6152. //      {
  6153. //        Spec = "target"
  6154. //        Arg[] = "[~targetname]"
  6155. //        Arrow: = {from[][]="[<[~origin]>]" to[]="[~origin]"}
  6156. //      }
  6157. //      find: =
  6158. //      {
  6159. //        Spec = "killtarget"
  6160. //        Arg[] = "[~targetname]"
  6161. //        Arrow: = {from[][]="[<[~origin]>]" to[]="[~origin]" color="1 0 0"}
  6162. //      }
  6163. //    }
  6164. //    DrawMap: =
  6165. //    {
  6166. //      Spec = "killtarget"
  6167. //      find: =
  6168. //      {
  6169. //        Spec = "targetname"
  6170. //        Arg[] = "[~killtarget]"
  6171. //        Arrow: = {from[]="[~origin]" to[][]="[<[~origin]>]" color="1 0 0"}
  6172. //      }
  6173. //    }
  6174. //  }
  6175.  
  6176.   defpoly:incl =      // default polyhedron
  6177.   {
  6178.     ;incl[] = "[:Map:Building:DefPoly]"   // equals one of the polyhedrons below
  6179.   }
  6180.   poly128:incl =      // default 128x128x128 polyhedron for brush entities
  6181.   {
  6182.     poly:p =
  6183.     {
  6184.       east:f   = {v= '64 0 0 64 128 0 64 0 128'   tex="[auto]"}
  6185.       west:f   = {v='-64 0 0 -64 0 128 -64 128 0' tex="[auto]" m="1"}
  6186.       north:f  = {v= '0 64 0 0 64 128 128 64 0'   tex="[auto]" m="1"}
  6187.       south:f  = {v='0 -64 0 128 -64 0 0 -64 128' tex="[auto]"}
  6188.       up:f     = {v= '0 0 64 128 0 64 0 128 64'   tex="[auto]"}
  6189.       down:f   = {v='0 0 -64 0 128 -64 128 0 -64' tex="[auto]" m="1"}
  6190.     }
  6191.   }
  6192.   poly64:incl =      // default 64x64x64 polyhedron for brush entities
  6193.   {
  6194.     poly:p =
  6195.     {
  6196.       east:f   = {v='32 -32 -32 32 96 -32 32 -32 96'    tex="[auto]"}
  6197.       west:f   = {v='-32 -32 -32 -32 -32 96 -32 96 -32' tex="[auto]" m="1"}
  6198.       north:f  = {v='-32 32 -32 -32 32 96 96 32 -32'    tex="[auto]" m="1"}
  6199.       south:f  = {v='32 -32 -32 160 -32 -32 32 -32 96'  tex="[auto]"}
  6200.       up:f     = {v='-32 -32 32 96 -32 32 -32 96 32'    tex="[auto]"}
  6201.       down:f   = {v='-32 -32 -32 -32 96 -32 96 -32 -32' tex="[auto]" m="1"}
  6202.     }
  6203.   }
  6204.   NewMap1:incl =
  6205.   {
  6206.     New map.qkm =
  6207.     {
  6208.       ;incl = "NewMap"     // NewMap:incl is read from one of the files DataXX.qrk
  6209.     }
  6210.   }
  6211.   EmptyGeneric:incl =
  6212.   {
  6213.     Size = '64 64'
  6214.     Image1 = $0000000000000000000000000000000000000000000000000000000000000000
  6215.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6216.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6217.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6218.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6219.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6220.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6221.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6222.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6223.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6224.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6225.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6226.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6227.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6228.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6229.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6230.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6231.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6232.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6233.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6234.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6235.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6236.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6237.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6238.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6239.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6240.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6241.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6242.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6243.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6244.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6245.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6246.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6247.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6248.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6249.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6250.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6251.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6252.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6253.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6254.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6255.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6256.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6257.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6258.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6259.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6260.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6261.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6262.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6263.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6264.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6265.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6266.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6267.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6268.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6269.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6270.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6271.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6272.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6273.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6274.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6275.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6276.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6277.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6278.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6279.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6280.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6281.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6282.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6283.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6284.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6285.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6286.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6287.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6288.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6289.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6290.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6291.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6292.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6293.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6294.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6295.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6296.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6297.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6298.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6299.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6300.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6301.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6302.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6303.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6304.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6305.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6306.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6307.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6308.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6309.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6310.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6311.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6312.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6313.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6314.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6315.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6316.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6317.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6318.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6319.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6320.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6321.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6322.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6323.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6324.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6325.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6326.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6327.      $0000000000000000000000000000000000000000000000000000000000000000
  6328.   }
  6329.   EmptyTexture:incl =
  6330.   {
  6331.     ;incl = "EmptyGeneric"
  6332.     Image2 = $0000000000000000000000000000000000000000000000000000000000000000
  6333.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6334.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6335.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6336.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6337.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6338.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6339.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6340.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6341.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6342.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6343.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6344.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6345.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6346.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6347.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6348.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6349.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6350.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6351.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6352.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6353.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6354.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6355.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6356.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6357.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6358.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6359.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6360.      $0000000000000000000000000000000000000000
  6361.     Image3 = $0000000000000000000000000000000000000000000000000000000000000000
  6362.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6363.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6364.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6365.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6366.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6367.      $000000000000000000000000000000000000000000000000000000000000000000000000
  6368.      $0000000000000000
  6369.     Image4 = $0000000000000000000000000000000000000000000000000000000000000000
  6370.      $0000000000000000000000000000000000000000000000000000000000000000
  6371.   }
  6372.   EmptyImage:incl =
  6373.   {
  6374.     ;incl = "EmptyGeneric"
  6375.     Pal = $0000000F0F0F1F1F1F2F2F2F3F3F3F4B4B4B5B5B5B6B6B6B7B7B7B8B8B8B9B9B9BAB
  6376.      $ABABBBBBBBCBCBCBDBDBDBEBEBEB634B235B431F533F1F4F3B1B47371B3F2F173B2B1733
  6377.      $27132F23132B1F13271B0F23170F1B130B170F0B130F070F0B075F5F6F5B5B675B535F57
  6378.      $4F5B534B534F474B473F433F3B3B3B3737332F2F2F2B2B2727272323231B1B1B17171713
  6379.      $13138F77537B6343735B3B674F2FCF974BA77B3B8B672F6F5327EB9F27CB8B23AF771F93
  6380.      $631B774F175B3B0F3F270B231707A73B2B9F2F23972B1B8B27137F1F0F73170B67170757
  6381.      $13004B0F00430F003B0F00330B002B0B00230B001B07001307007B5F4B7357436B533F67
  6382.      $4F3B5F4737574333533F2F4B372B4333273F2F2337271B2F2317271B131F170F170F0B0F
  6383.      $0B076F3B175F3717532F17432B17372313271B0F1B130B0F0B07B35B4FBF7B6FCB9B93D7
  6384.      $BBB7CBD7DFB3C7D39FB7C387A7B77397A75B879B47778B2F677F17536F134B670F435B0B
  6385.      $3F5307374B072F3F072733001F2B00171F000F1300070B0000008B5757834F4F7B474773
  6386.      $43436B3B3B6333335B2F2F572B2B4B23233F1F1F331B1B2B13131F0F0F130B0B0B070700
  6387.      $0000979F7B8F9773878B6B7F8363777B5F7373576B6B4F6363475B5B434F4F3B43433337
  6388.      $372B2F2F2323231B1717130F0F0B9F4B3F9343378B3B2F7F3727772F236B2B1B63231757
  6389.      $1F134F1B0F43170B37130B2B0F071F0B071707000B0000000000777BCF6F73C3676BB763
  6390.      $63A75B5B9B53578F4B4F7F4747733F3F673737572F2F4B27273F231F2F1B1723130F170B
  6391.      $07079BAB7B8F9F6F8797637B8B5773834B6777435F6F3B5767334B5B273F4F1B3743132F
  6392.      $3B0B232F071B23001317000B0F0000FF0023E70F3FD31B53BB275FA72F5F8F335F7B33FF
  6393.      $FFFFFFFFD3FFFFA7FFFF7FFFFF53FFFF27FFEB1FFFD717FFBF0FFFAB07FF9300EF7F00E3
  6394.      $6B00D35700C74700B73B00AB2B009B1F008F17007F0F007307005F00004700002F00001B
  6395.      $0000EF00003737FFFF00000000FF2B2B231B1B1713130FEB977FC373539F57337B3F1BEB
  6396.      $D3C7C7AB9BA78B77876B579F5B53
  6397.   }
  6398.  
  6399.     //   --- TOOL BARS ---
  6400.   Tool bars.qrk =
  6401.   {
  6402.     Main.toolbar =
  6403.     {
  6404.       Caption = "new files"
  6405.       DockedTo = "topdock"
  6406.       DockPos = '400'
  6407.       Form = "_toolbar_"
  6408.       map:tbbtn = {
  6409.         Typ  = "N"     // opens a new copy of an object in QuArK
  6410.         Hint[] = "new [::Game] map"
  6411.         Icon = $66600888888811186000444444441191607878704CC411916078787087781191
  6412.                $6000000058511171087070780383119160877780538311916608780558821191
  6413.                $6660805888251191666008777777811844444444444878885C7F777CCC487770
  6414.                $5C77C777CC488880055555555548870666608888888800666666666666666666
  6415.         Create = "NewMap1"   // the button creates a copy of NewMap1:incl
  6416.       }
  6417.     //  image:tbbtn = {
  6418.     //    Typ  = "N"
  6419.     //    Hint = "new .pcx image (you cannot edit it yet)"
  6420.     //    Icon = $66000000000000066687777777775506668FFFFFFFFFF506668FF557FFFFF706
  6421.     //           $668FFF55577FF706668FFFF500F77706668FFFFF00FFF706668FF002200FF706
  6422.     //           $668F5990AA00F706668F5F90AA000706668FF55AAA200506668FFF2BAA270006
  6423.     //           $6685FF222227000666855FFFFFF7860066888888888866056666666666666666
  6424.     //    Create = "NewPcx1"
  6425.     //    NewPcx1:incl =
  6426.     //    {
  6427.     //     New image.pcx =
  6428.     //      {
  6429.     //
  6430.     //      }
  6431.     //    }
  6432.     //  }
  6433.       sep1:tbbtn = {Typ="S" Txt = ""}    // separator line
  6434.       group:tbbtn = {
  6435.         Typ  = "C"     // object creation
  6436.         Hint = "new group"
  6437.         Icon = $666008881111111866604441999799916660CCC1101111116660244404555548
  6438.                $66602C2AA478887866602C4A24787F78666022AC48778878666022CC47888878
  6439.                $666000407787877866608777777777784448444844487F785C77CF77CC487778
  6440.                $5CC7C777CC488880055555555548870666608888888800666666666666666666
  6441.         Create = "NewGroup"
  6442.         NewGroup:incl =
  6443.         {
  6444.           Group.qrk = { }
  6445.         }
  6446.       }
  6447.     }
  6448.  
  6449.     Map.toolbar =
  6450.     {
  6451.       Caption = "menu bar"
  6452.       DockedTo = "topdock"
  6453.       DockPos = '32'
  6454.       Form = "_menubar_"
  6455.       New = "NewMap1"      // Default object created when choosing "File/New" in the Map window
  6456.       viewmenu:tbbtn = {
  6457.         Typ = "*"       // "*" means menu
  6458.         Cap = " &View "
  6459.         view1:tbbtn = {
  6460.           Cap = "Show whole level"
  6461.           Typ  = "R"   // Radio button (for setting one of mutually exclusive setup options)
  6462.           Path = "Map:Options:ShowWholeLevel"
  6463.           Clear = "GrayOutOfView" $0D "HideOutOfView" $0D "Textured"
  6464.         }
  6465.         view2:tbbtn = {
  6466.           Cap = "Gray out of view"
  6467.           Typ  = "R"
  6468.           Path = "Map:Options:GrayOutOfView"
  6469.           Clear = "ShowWholeLevel" $0D "HideOutOfView" $0D "Textured"
  6470.         }
  6471.         view3:tbbtn = {
  6472.           Cap = "Hide out of view"
  6473.           Typ  = "R"   // Radio button (for setting one of mutually exclusive setup options)
  6474.           Path = "Map:Options:HideOutOfView"
  6475.           Clear = "ShowWholeLevel" $0D "GrayOutOfView" $0D "Textured"
  6476.         }
  6477.         view4:tbbtn = {
  6478.           Cap = "Textured view"
  6479.           Typ  = "X"
  6480.           Path = "Map:Options:Textured"
  6481.           //Clear = "ShowWholeLevel" $0D "GrayOutOfView" $0D "HideOutOfView"
  6482.           Shortcut = "Ctrl+T"
  6483.         }
  6484.       }
  6485.       commandsmenu:tbbtn = {
  6486.         Typ = "*"
  6487.         Cap = " &Commands "
  6488.         insert:tbbtn = {
  6489.           Cap = "Insert map item..."
  6490.           Typ = "T"    // toolbox
  6491.           ToolBox = "New map items..."
  6492.           Shortcut = "Ins"
  6493.         }
  6494.         sep1:tbbtn = {Typ="S" Txt = ""}
  6495.         tex:tbbtn = {
  6496.           Cap = "Select texture..."
  6497.           Typ = "M"
  6498.           Msg = "TEX"
  6499.         }
  6500.         mov:tbbtn = {
  6501.           Cap = "Movements..."
  6502.           Typ = "M"
  6503.           Msg = "MOV"
  6504.         }
  6505.         sep2:tbbtn = {Typ="S" Txt = ""}
  6506.         subp:tbbtn = {
  6507.           Cap = "Subtract polyhedrons"
  6508.           Typ = "M"
  6509.           Msg = "SUBP"
  6510.         }
  6511.         intr:tbbtn = {
  6512.           Cap = "Intersect polyhedrons"
  6513.           Typ = "M"
  6514.           Msg = "INTR"
  6515.         }
  6516.         makr:tbbtn = {
  6517.           Cap = "Make room in polyhedrons"
  6518.           Typ = "M"
  6519.           Msg = "MAKR"
  6520.         }
  6521.       }
  6522.       optionsmenu:tbbtn = {
  6523.         Typ = "*"       // "*" means menu
  6524.         Cap = " &Options "
  6525.         delfaces:tbbtn = {
  6526.           Cap  = "Delete unused faces"
  6527.           Typ  = "X"   // Check boX
  6528.           Path = "Map:Options:DeleteFaces"
  6529.         }
  6530.         sep1:tbbtn = {Typ="S" Txt = ""}
  6531.         cfg:tbbtn = {
  6532.           Typ  = "M"
  6533.           Cap  = "&Configuration..."
  6534.           Msg  = "CFGD"
  6535.         }
  6536.       }
  6537.       quakemenu:tbbtn = {
  6538.         Typ = "*"
  6539.         Cap[] = " &[::Game] "
  6540.  
  6541.         go:tbbtn = {
  6542.           Cap[] = "&GO ! (full build + [::Game])"
  6543.           Typ   = "+"        // macro
  6544.           cmd:macro = {Typ="M" Msg="QTEX"}      // write textures
  6545.           cmd:macro = {Typ="M" Msg="WRMP"}      // write .map file
  6546.           cmd:macro = {;copy="QBSPBuild"}       // do the QBSPBuild:incl command (below)
  6547.           cmd:macro = {;copy="VISBuild"}        // do the VISBuild:incl command (below)
  6548.           cmd:macro = {;copy="LIGHTBuild"}      // do the LIGHTBuild:incl command (below)
  6549.           cmd:macro = {;incl="RunGame1"}        // do the RunGame1:incl command (below)
  6550.         }
  6551.         quickgo:tbbtn = {
  6552.           Cap[] = "Quic&kGO ! (no VIS, fast LIGHT)"
  6553.           Typ   = "+"        // macro
  6554.           cmd:macro = {Typ="M" Msg="QTEX"}      // write textures
  6555.           cmd:macro = {Typ="M" Msg="WRMP"}      // write .map file
  6556.           cmd:macro = {;copy="QBSPBuild"}       // do the QBSPBuild:incl command (below)
  6557.           cmd:macro = {;copy="FastLIGHTBuild"}  // do the FastLIGHTBuild:incl command (below)
  6558.           cmd:macro = {;incl="RunGame1"}        // do the RunGame1:incl command (below)
  6559.         }
  6560.         sep1:tbbtn = {Typ="S" Txt = ""}
  6561.         tex1:tbbtn = {
  6562.           Cap = "&Prepare used textures"
  6563.           Typ = "M"
  6564.           Msg = "QTXD"
  6565.         }
  6566.         build:tbbtn = {
  6567.           Cap = "&Complete rebuild"
  6568.           Typ   = "+"        // macro
  6569.           cmd:macro = {Typ="M" Msg="WRMP"}      // write .map file
  6570.           cmd:macro = {;copy="QBSPBuild"}       // do the QBSPBuild:incl command (below)
  6571.           cmd:macro = {;copy="VISBuild"}        // do the VISBuild:incl command (below)
  6572.           cmd:macro = {;copy="LIGHTBuild"}      // do the LIGHTBuild:incl command (below)
  6573.         }
  6574.         run:tbbtn = {
  6575.           Cap[] = "&Run [::Game]"
  6576.           ;incl = "RunGame1"
  6577.         }
  6578.         sep2:tbbtn = {Typ="S" Txt = ""}
  6579.         bsp1:tbbtn = {
  6580.           Cap = "&QBSP (.bsp file creation)"
  6581.           Typ = "+"
  6582.           cmd:macro = {Typ="M" Msg="WRMP"}      // write .map file
  6583.           cmd:macro = {;copy="QBSPBuild"}       // do the QBSPBuild:incl commands (below)
  6584.         }
  6585.         vis1:tbbtn = {
  6586.           Cap = "&VIS (visibility list)"
  6587.           ;copy = "VISBuild"
  6588.         }
  6589.         light1:tbbtn = {
  6590.           Cap = "&LIGHT (light projection)"
  6591.           ;copy = "LIGHTBuild"
  6592.         }
  6593.         sep3:tbbtn = {Typ="S" Txt = ""}
  6594.         ents:tbbtn = {
  6595.           Cap = "QBSP - only &entities"
  6596.           Typ = "+"
  6597.           cmd:macro = {Typ="M" Msg="WRMP"}      // write .map file
  6598.           cmd:macro = {;copy="EntsQBSPBuild"}   // do the EntsQBSPBuild:incl commands (below)
  6599.         }
  6600.       }
  6601.     }
  6602.     Map.toolbar =
  6603.     {
  6604.       Caption = "buttons"
  6605.       DockedTo = "DockLU"
  6606.       DockPos = '0'
  6607.       DockRow = '1'
  6608.       Form = "_toolbar_"
  6609.       cube:tbbtn = {
  6610.         Typ  = "C"     // object creation
  6611.         Hint = "new cube"
  6612.         Icon = $AAAAAAA1011AAAAAAAAA118F8F711AAAAA117FFF8FFFF81A18FFFFFF8FFFFFF0
  6613.                $8FFFFFFF8FFFFFF88FFFFFFF8FFFFFF88FFFFFFF8FFFFFF88FFFFFFF8FFFFFF8
  6614.                $8FFFFFFF07FFFFF88FFFF888F787FFF88F788FFFFFF788F8087FFFFFFFFFFF80
  6615.                $A18FFFFFFFFF811AAAA117FFF781AAAAAAAAA11811AAAAAAAAAAAAAAAAAAAAAA
  6616.         Create = "defpoly"   // the button creates a copy of defpoly:incl (see above)
  6617.        // New.qrk =
  6618.        // {              // the button creates a copy of this
  6619.        //   poly:p =
  6620.        //   {
  6621.        //     east:f   = {v= '64 0 0 64 128 0 64 0 128'   tex[][]="[<[::DefaultTexture]>]"}
  6622.        //     west:f   = {v='-64 0 0 -64 0 128 -64 128 0' tex[][]="[<[::DefaultTexture]>]" m="1"}
  6623.        //     north:f  = {v= '0 64 0 0 64 128 128 64 0'   tex[][]="[<[::DefaultTexture]>]" m="1"}
  6624.        //     south:f  = {v='0 -64 0 128 -64 0 0 -64 128' tex[][]="[<[::DefaultTexture]>]"}
  6625.        //     up:f     = {v= '0 0 64 128 0 64 0 128 64'   tex[][]="[<[::DefaultTexture]>]"}
  6626.        //     down:f   = {v='0 0 -64 0 128 -64 128 0 -64' tex[][]="[<[::DefaultTexture]>]" m="1"}
  6627.        //   }
  6628.        // }
  6629.       }
  6630.       newitems:tbbtn = {
  6631.         Typ  = "T"     // toolbox
  6632.         Hint = "new item"
  6633.         ToolBox = "New map items..."
  6634.         Icon = $9999999999999999900000000000000988888888888888098FB7B7B7B7B7B809
  6635.                $8F7B7B7B7B7B78098FB7B7B7B7B7B8098F7B7B7B7B7B78098FB7B7B7B7B7B809
  6636.                $8F7B7B7B7B7B78098FB7B7B7B7B8B88B8FFFFFFFF8B8B8BB87B7B7B7888BBB88
  6637.                $987B7B780BBBBBBB998888899B8BBB889999999998B8B8B8999999999B88B8BB
  6638.       }
  6639.       trash:tbbtn = {
  6640.         Typ  = "M"      // message (internal action)
  6641.         Msg  = "DEL"    // DELete (see TECHINFO.TXT for a list of possible values
  6642.         Hint = "delete item"
  6643.         Icon = $9999999900009999999999007788099999990077778809999900772777880999
  6644.                $9987722227888099998727272788809998772777778880999872227227888099
  6645.                $98772772278888099877722FFFF8880987777FF8777FF809877FF0887777FF09
  6646.                $8FF8808777FF889988FF8077FF8899999988F8FF889999999999888899999999
  6647.       }
  6648.       sep1:tbbtn = {Typ="S" Txt = ""}    // separator line
  6649.       undo:tbbtn = {
  6650.         Typ  = "M"
  6651.         Msg  = "MURD"
  6652.         Hint = "multiple undo/redo"
  6653.         Icon = $777777777777777700000000000007770FAAAAAAAAAAA0770FAAAAAAAAAAAA07
  6654.                $0FFFFFFFFFFFFAA20222222222222FA07777770AA07772F0777770AAA0000A20
  6655.                $77770AAAAAAAAAA07770FAAAAAAAAF0777770FAAAAFF0077777770FAA0007777
  6656.                $7777770FF0777777777777700077777777777777777777777777777777777777
  6657.       }
  6658.       textures:tbbtn = {
  6659.         Typ  = "M"
  6660.         Msg  = "TEX"
  6661.         Hint = "choose texture"
  6662.         Icon = $DD0000000000000DDD8777777777770DDD8FFFFFFFFFF70DDD8FF7777777F70D
  6663.                $DD8F13030117F70DDD8F33313117F70DDD8F13133117F70DDD8F00000007F70D
  6664.                $DD8F01001117F70DDD8F11101017F70DDD8F1010011FF70DDD8FFFFFFFF0000D
  6665.                $DD8FFFFFFFF7F8DDDD8FFFFFFFF78DDDDD8888888888DDDDDDDDDDDDDDDDDDDD
  6666.       }
  6667.       movement:tbbtn = {
  6668.         Typ   = "M"
  6669.         Msg   = "MOV"
  6670.         Hint  = "movement tool palette"
  6671.         IconW = '17'   // icon width, default 16
  6672.         Icon  = $AAAAAAAA0AAAAAAAA0000000AAAAAAA010AAAAAAA0000000AAAAAA09910AAAAAA0000000AAAAA0999910AAAAA0000000AAAA099999910AAAA0
  6673.                 $000000AAA00909990900AAA0000000AAA09909990910AAA0000000AA0990099900910AA0000000A099999999999910A00000000F9999999999
  6674.                 $999100000000A0F9900999009990A0000000AA0F99099909990AA0000000AAA0F909990990AAA0000000AAA00909990900AAA0000000AAAA0F
  6675.                 $9999990AAAA0000000AAAAA0F99990AAAAA0000000AAAAAA0F990AAAAAA0000000AAAAAAA0F0AAAAAAA0000000AAAAAAAA0AAAAAAAA0000000
  6676.       }
  6677.       sep2:tbbtn = {Typ="S" Txt = ""}    // separator line
  6678.       lock:tbbtn = {
  6679.         Typ  = "X"   // configuration checkbox
  6680.         Path = "Map:Options:PagesLocked"
  6681.         Hint = "lock the multiple-page panel below (no automatic switching)"
  6682.         Icon = $DD0000000000DDDDDD0888888880DDDDDD0B33333380DDDDDD0B3B33B380DDDD
  6683.                $DD0B33333380DDDDDD0B33333380DDDDDD0FBBBB8880DDDDDDD00000770DDDDD
  6684.                $DDDDDDD07780000DDDDDDDD07780770DDDDDDDD07780770DDDDDDDD07780770D
  6685.                $DDDDDDD0F778770DDDDDDDDD0F7770DDDDDDDDDDD0000DDDDDDDDDDDDDDDDDDD
  6686.         IconDown = $DD0000000000DDDDDD0888888880DDDDDD0B33333380DDDDDD0B3B33B380DDDD
  6687.                    $DD0B33333380DDDDDD0B33333380DDDDDD0FBBBB8880DDDDDDD07800770DDDDD
  6688.                    $DD0780DD0780DDDDDD0780DD0780DDDDDD0770DD0780DDDDDD0777807780DDDD
  6689.                    $DD0F77777770DDDDDDD0F777770DDDDDDDDD000000DDDDDDDDDDDDDDDDDDDDDD
  6690.       }
  6691.       3D:tbbtn = {
  6692.         Typ  = "M"
  6693.         Msg  = "3DED"
  6694.         Hint = "open 3DFX viewer"
  6695.         Cap  = "3D"
  6696.       }
  6697.       group:tbbtn = {
  6698.         Typ  = "C"     // object creation
  6699.         Hint = "new group"
  6700.         Icon = $99900000000000009988888888888800998FB7B7B7B7B80098FB7B7B7B7B7080
  6701.                $98F7B7B7B7B780808F7B7B7B7B7B00808FFFFFFFFFF800808888888888888080
  6702.                $90FFFFF07777708090FFFFF00777708090FFF00AA007708090F00AAAAAA00089
  6703.                $900AAAAAAAAAA0999900AAAAAAA00999999900AAA00999999999990009999999
  6704.         Create = "group"   // the button creates a copy of group:incl
  6705.         group:incl = {
  6706.           new group:g = { }
  6707.         }
  6708.       }
  6709.     }
  6710.     tb Texture Browser....toolbar =
  6711.     {
  6712.       Caption = "folders"
  6713.       DockedTo = "topdock"
  6714.       DockPos = '32'
  6715.       Form = "_toolbar_"
  6716.       txlist:tbbtn = {
  6717.         Typ  = "C"     // create an object
  6718.         Hint = "new texture list"
  6719.         Icon = $666666666666666602220222088811188AA32AAA214411912322232203141191
  6720.                $8A23332A27381191832BAA3A2338117123322332073811918AA32AAA23381191
  6721.                $0888188827381191637772777337119166388828883F7118444644444448FF78
  6722.                $5C7F7777CC48F7785C77C777CC48888005555555554887066660888888880066
  6723.         Create = "NewTxList"   // the button creates a copy of NewTxList:incl
  6724.         NewTxList:incl = {
  6725.           Texture list.txlist = {}    // empty texture list
  6726.         }
  6727.       }
  6728.       import1:tbbtn = {
  6729.         Typ  = "M"
  6730.         Msg  = "TXLI"
  6731.         Hint = "make links for a folder of Quake 2 / Heretic II textures (.wal and .m8)"
  6732.         Icon  = $66666660066666666666600B3006666666600BB733300666600B700733333006
  6733.                 $0B700907333333300B0999073333333060099907333333306609990733333330
  6734.                 $6609990773333330660FF99007B33330666009999007B330BF66009999007B00
  6735.                 $6666660000060006666F66666666666666B666F666F66666666666B6666B6666
  6736.       }
  6737.       search1:tbbtn = {
  6738.         Typ = "P"
  6739.         Cap = "Search"
  6740.         Code = "import plugins.tex_search; plugins.tex_search.openbox()"
  6741.         Icon  = $A88888AAAAA88888000008AAAA000008070008AAAA07000807000888A807
  6742.                 $00080000000800000008A070000007000008007000700700000800700070
  6743.                 $0700000AA0000000000000AAAA07000807000AAAAA00000A00000AAAAAA0
  6744.                 $008AA0008AAAAAA0708AA0708AAAAAA000AAA000AAAAAAAAAAAAAAAAAAAA
  6745.       }
  6746.     }
  6747.     tb New Files....toolbar =
  6748.     {
  6749.       Caption = "new files"
  6750.       DockedTo = "topdock"
  6751.       DockRow = '1'
  6752.       Form = "_toolbar_"
  6753.       open:tbbtn = {
  6754.         Cap = " &Copy into main file "
  6755.         Typ = "M"
  6756.         Msg = "OPEN"
  6757.       }
  6758.       new:tbbtn = {
  6759.         Cap = " &Open in new window "
  6760.         Typ = "M"
  6761.         Msg = "OPNW"
  6762.       }
  6763.     }
  6764.     Image.toolbar =
  6765.     {
  6766.       Caption = "image"
  6767.       DockedTo = "topdock"
  6768.       DockPos = '32'
  6769.       Form = "_toolbar_"
  6770.       extedit:tbbtn = {
  6771.         Typ = "M"
  6772.         Hint = "call external editor"
  6773.         Msg = "EXTE"
  6774.         Icon = $6677777777777776600000000000007660FFFFFFFFFFF07660FFFFFFFFFFF07660F7
  6775.                $F33FFFFFF07660FFF3333FF7F07660F7F333118FF07660FFFF331118807660FFFF91
  6776.                $1111807760FF7FF91111107760FFFFFF9111117660FF877FF911111660FFFFFFFF91
  6777.                $111160F777787F79111660FFFFFFFF7F911660FFFFFFFF7069666000000000066666
  6778.       }
  6779.       pal:tbbtn = {
  6780.         Typ   = "M"
  6781.         Hint  = "view image palette"
  6782.         Msg   = "VPAL"
  6783.         IconW = '17'
  6784.         Icon  = $FFFFFFFFFFFFFFFFF000000000000000000000000000000005550EEE066602220000000005550EEE0666022200
  6785.                 $00000005550EEE06660222000000000000000000000000000000000CCC099907770BBB000000000CCC09990777
  6786.                 $0BBB000000000CCC099907770BBB00000000000000000000000000000000044401110888033300000000044401
  6787.                 $110888033300000000044401110888033300000000000000000000000000000000FFFFFFFFFFFFFFFFF0000000
  6788.       }
  6789.     }
  6790.     Texture list.toolbar =
  6791.     {
  6792.       Caption = "texture list"
  6793.       DockedTo = "topdock"
  6794.       DockPos = '32'
  6795.       Form = "_toolbar_"
  6796.       newtex:tbbtn = {
  6797.         Typ   = "C"
  6798.         Hint  = "new texture (Quake 1)"
  6799.         Icon  = $D00000000000000DD78888888888880DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80D
  6800.                 $D7FFF0F0FF0FF80DD7FF0F0FFF0FF80DD7FF0FF0FF0FF80DD7FF0FF0F00FF80D
  6801.                 $D7FFF00FFF0FF80DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFF0000D
  6802.                 $D7FFFFFFFFF8F7DDD7FFFFFFFFF87DDDD77777777777DDDDDDDDDDDDDDDDDDDD
  6803.         Create = "NewTexture"
  6804.         NewTexture:incl =
  6805.         {
  6806.           texture.wad_d = { ;incl="EmptyTexture" }
  6807.         }
  6808.       }
  6809.       newtex:tbbtn = {
  6810.         Typ   = "C"
  6811.         Hint  = "new texture (Quake 2)"
  6812.         Icon  = $D00000000000000DD78888888888880DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80D
  6813.                 $D7FF0F0F000FF80DD7F0F0FFF0FFF80DD7F0FF0FFF0FF80DD7F0FF0F0F0FF80D
  6814.                 $D7FF00FFF0FFF80DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFF0000D
  6815.                 $D7FFFFFFFFF8F7DDD7FFFFFFFFF87DDDD77777777777DDDDDDDDDDDDDDDDDDDD
  6816.         Create = "NewTexture"
  6817.         NewTexture:incl =
  6818.         {
  6819.           texture.wal = { ;incl="EmptyTexture" }
  6820.         }
  6821.       }
  6822.       newtex:tbbtn = {
  6823.         Typ   = "C"
  6824.         Hint  = "new texture (Heretic II)"
  6825.         Icon  = $D00000000000000DD78888888888880DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80D
  6826.                 $D70FF0F0FF00070DD70FF0F0FF0FF80DD70000F00FF0F80DD70FF0FFFFFF070D
  6827.                 $D70FF0FFFF00F80DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFF0000D
  6828.                 $D7FFFFFFFFF8F7DDD7FFFFFFFFF87DDDD77777777777DDDDDDDDDDDDDDDDDDDD
  6829.         Create = "NewTexture"
  6830.         NewTexture:incl =
  6831.         {
  6832.           texture.m8 = { ;incl="EmptyTexture" }
  6833.         }
  6834.       }
  6835.       newtex:tbbtn = {
  6836.         Typ   = "C"
  6837.         Hint  = "new texture (Sin)"
  6838.         Icon  = $D00000000000000DD78888888888880DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80D
  6839.                 $D7F000FF0F0F070DD7FFFF0F0F0F070DD7FF00FF0F00F80DD7F0FFFFFFFFF80D
  6840.                 $D7FF000F0FFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFF0000D
  6841.                 $D7FFFFFFFFF8F7DDD7FFFFFFFFF87DDDD77777777777DDDDDDDDDDDDDDDDDDDD
  6842.         Create = "NewTexture"
  6843.         NewTexture:incl =
  6844.         {
  6845.           texture.swl = { ;incl="EmptyTexture" }
  6846.         }
  6847.       }
  6848.       newtex:tbbtn = {
  6849.         Typ   = "C"
  6850.         Hint  = "new texture (Half-Life)"
  6851.         Icon  = $D00000000000000DD78888888888880DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80D
  6852.                 $D7FF0FF0F000F80DD7FF0FF0F0FFF80DD7FF0000F0FFF80DD7FF0FF0F0FFF80D
  6853.                 $D7FF0FF0F0FFF80DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFF0000D
  6854.                 $D7FFFFFFFFF8F7DDD7FFFFFFFFF87DDDD77777777777DDDDDDDDDDDDDDDDDDDD
  6855.         Create = "NewTexture"
  6856.         NewTexture:incl =
  6857.         {
  6858.           texture.wad3_C = { ;incl="EmptyTexture" }
  6859.         }
  6860.       }
  6861.       newtex:tbbtn = {
  6862.         Typ   = "C"
  6863.         Hint  = "new TGA texture (Quake 3)"
  6864.         Icon  = $D00000000000000DD78888888888880DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80D
  6865.                 $D7FFF0F0F00FF80DD7FF0F0FFFF0F80DD7FF0FF0FF0FF80DD7FF0FF0FFF0F80D
  6866.                 $D7FFF00FF00FF80DD7FFFFFFFFFFF80DD7FFFFFFFFFFF80DD7FFFFFFFFF0000D
  6867.                 $D7FFFFFFFFF8F7DDD7FFFFFFFFF87DDDD77777777777DDDDDDDDDDDDDDDDDDDD
  6868.         Create = "NewTexture"
  6869.         NewTexture:incl =
  6870.         {
  6871.           texture.tga = { ;incl="EmptyImage" }
  6872.         }
  6873.       }
  6874.     }
  6875.     Texture.toolbar =
  6876.     {
  6877.       Caption = "texture"
  6878.       DockedTo = "topdock"
  6879.       DockPos = '32'
  6880.       Form = "_toolbar_"
  6881.       extedit:tbbtn = {
  6882.         Typ = "M"
  6883.         Hint = "call external editor"
  6884.         Msg = "EXTE"
  6885.         Icon = $6677777777777776600000000000007660FFFFFFFFFFF07660FFFFFFFFFFF07660F7
  6886.                $F33FFFFFF07660FFF3333FF7F07660F7F333118FF07660FFFF331118807660FFFF91
  6887.                $1111807760FF7FF91111107760FFFFFF9111117660FF877FF911111660FFFFFFFF91
  6888.                $111160F777787F79111660FFFFFFFF7F911660FFFFFFFF7069666000000000066666
  6889.       }
  6890.       pal:tbbtn = {
  6891.         Typ   = "M"
  6892.         Hint[]= "view [::Game] palette"
  6893.         Msg   = "VPAL"
  6894.         IconW = '17'
  6895.         Icon  = $FFFFFFFFFFFFFFFFF000000000000000000000000000000005550EEE066602220000000005550EEE0666022200
  6896.                 $00000005550EEE06660222000000000000000000000000000000000CCC099907770BBB000000000CCC09990777
  6897.                 $0BBB000000000CCC099907770BBB00000000000000000000000000000000044401110888033300000000044401
  6898.                 $110888033300000000044401110888033300000000000000000000000000000000FFFFFFFFFFFFFFFFF0000000
  6899.       }
  6900.       resize:tbbtn = {
  6901.         Typ   = "M"
  6902.         Hint[]= "resize texture"
  6903.         Msg   = "RSZT"
  6904.         Icon  = $6666006600666666660066006616666600660066199166666600661999996666
  6905.                 $0066191999991666661999199999166661999991991191660699999111999966
  6906.                 $0619991199999916606911999999916660619999999166666606999991666666
  6907.                 $0606199166666666066061666666666660606666666666666066666666666666
  6908.       }
  6909.     }
  6910.     Pak.toolbar =
  6911.     {
  6912.       Caption = "pak"
  6913.       DockedTo = "topdock"
  6914.       DockPos = '32'
  6915.       Form = "_toolbar_"
  6916.       extract:tbbtn = {
  6917.         Typ   = "M"
  6918.         Msg   = "PAKX"
  6919.         Hint  = "extract the whole folder to disk"
  6920.         IconW = '20'
  6921.         Icon  = $66666666600666666666000066666660022006666666000066666002AA22200666660000666004CAAA22244006660000
  6922.                 $6602ACCAAA22244220660000660AACCAAA22244220660000660AACCAAA22244220660000660AACCAAA22244220660000
  6923.                 $660AACCAAF02244220660000660AACCFFA02244220660000660AAFFAA0B0222220660000660AAA2200A0222220660000
  6924.                 $660A2200EEEE0022206600006022000A6666600022060000600066666666666600060000006666666666666666000000
  6925.       }
  6926.       extract:tbbtn = {
  6927.         Typ   = "M"
  6928.         Msg   = "PAKE"
  6929.         Hint  = "extract entity lumps to disk"
  6930.         IconW = '20'
  6931.         Icon  = $66666666600666666666000066666660022006666666000066666002AA22200666660000666004CAAA22244006660000
  6932.                 $6602ACCAAA22244220660000660AACCAAA22244220660000660AACCAAA22244220660000660AACCAAA22244220660000
  6933.                 $660AACCAAF02244220660000660AACCFFA02244220660000660AAFFAA0B0222220660000660AAA2200A0222220660000
  6934.                 $660A2200EEEE0022206600006022000A6666600022060000600066666666666600060000006666666666666666000000
  6935.       }
  6936.       folder:tbbtn = {
  6937.         Typ   = "C"
  6938.         Hint  = "new folder for these files"
  6939.         Icon  = $666660000066666666660232AA20666660003332ABA0206602303332ABB0FA06
  6940.                 $03303332ABB0FBA003303332AAB0FBB0033033222AA0FBB0033022AAA220FBB0
  6941.                 $0322022AA2022AA002AA2022002AA2A00AAAA20022AAAA20602A0022002A2006
  6942.                 $66002AAAA20006666666002A2006666666666600066666666666666666666666
  6943.         Create = "NewFolder"
  6944.         NewFolder:incl =
  6945.         {
  6946.           folder.pakfolder = { }
  6947.         }
  6948.       }
  6949.     }
  6950.     QuakeC.toolbar =
  6951.     {
  6952.       Caption = "QuakeC"
  6953.       DockedTo = "topdock"
  6954.       DockPos = '32'
  6955.       Form = "_toolbar_"
  6956.       compile:tbbtn = {
  6957.         Typ   = "M"
  6958.         Msg   = "QCC1"
  6959.         Hint  = "compile this QuakeC patch"
  6960.         IconW = '18'
  6961.         Icon  = $707707707707707707000000707070707070707070000000707070707070707070000000707070707070707070000000707707707707
  6962.                 $707707000000777777777777777777000000777777777777777777000000777777777777777007000000700000000007770000000000
  6963.                 $0BFBFBFBFBF07000000000000FBFBFBFBFB07770070000000BFBFBFBFBF07770070000000FBFBFBFBFB07780070000000BFBFBFBFBF0
  6964.                 $7000870000000FBFBFBFBFB070087700000000000BFBFBF07777770000000FBFB0000007777777000000700007777777777777000000
  6965.       }
  6966.       execute:tbbtn = {
  6967.         Typ   = "M"
  6968.         Msg   = "QCCX"
  6969.         Hint  = "compile this QuakeC patch and run it"
  6970.         Icon  = $777777877777777777777088777777777777700887777777777770A088777777
  6971.                 $777770AA088777777777707A70887777777770AAAA088777777770A7A7A08877
  6972.                 $777770AAAAAA07777777707A7A707777777770AAAA077777777770A7A0777777
  6973.                 $777770AA07777777777770707777777777777007777777777777707777777777
  6974.       }
  6975.     }
  6976.   }
  6977.  
  6978. }
  6979.  
  6980.